home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c10.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  107KB  |  4,549 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. T68 r287start_position(T287* C){
  12. T68 R={NULL,0};
  13. {T68 se_tmp0;
  14. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  15. }
  16. return R;
  17. }
  18.  
  19.  
  20. void r224make(T224* C,T0* a1,T0* a2){
  21. (/*SFN*/C->_instruction)=a1;
  22. (/*SFN*/C->_comment)=a2;
  23. }
  24.  
  25.  
  26. T0* r224add_comment(T224* C,T0* a1){
  27. T0* R=NULL;
  28. /*[IF*/
  29. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  30. R=((T0*)(C));
  31. }
  32. /*AF*/else{
  33. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  34. *n=M224;
  35. r224make(n,(T0*)C,a1);
  36. R=((T0*)n);
  37. }
  38. }
  39. /*FI]*/
  40. return R;
  41. }
  42.  
  43.  
  44. void r224compile_to_c(T224* C){
  45. X151compile_to_c((/*RF2*/(C)->_instruction/*4*/));
  46. }
  47.  
  48.  
  49. void r224afd_check(T224* C){
  50. X151afd_check((/*RF2*/(C)->_instruction/*4*/));
  51. }
  52.  
  53.  
  54. void r224collect_c_tmp(T224* C){
  55. X151collect_c_tmp((/*RF2*/(C)->_instruction/*4*/));
  56. }
  57.  
  58.  
  59. T6 r224use_current(T224* C){
  60. T6 R=0;
  61. R=X151use_current((/*RF2*/(C)->_instruction/*4*/));
  62. return R;
  63. }
  64.  
  65.  
  66. T6 r224stupid_switch(T224* C,T0* a1){
  67. T6 R=0;
  68. R=X151stupid_switch((/*RF2*/(C)->_instruction/*4*/),a1);
  69. return R;
  70. }
  71.  
  72.  
  73. T0* r224to_runnable(T224* C,T0* a1){
  74. T0* R=NULL;
  75. T0* _ri=NULL;
  76. _ri=X151to_runnable((/*RF2*/(C)->_instruction/*4*/),a1);
  77. /*[IF*/
  78. if((_ri)==((void*)(NULL))){
  79. {T68 se_tmp0;
  80. r224error((*(se_tmp0=X151start_position((/*RF2*/(C)->_instruction/*4*/)),&se_tmp0)),((T0*)ms224_18176));
  81. }
  82. R=((T0*)(C));
  83. }
  84.  else if((_ri)==((void*)((/*RF2*/(C)->_instruction/*4*/)))){
  85. R=((T0*)(C));
  86. }
  87. else{
  88. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  89. *n=M224;
  90. r224make(n,_ri,(/*RF2*/(C)->_comment/*8*/));
  91. R=((T0*)n);
  92. }
  93. }
  94. /*FI]*/
  95. return R;
  96. }
  97.  
  98.  
  99. T6 r224is_pre_computable(T224* C){
  100. T6 R=0;
  101. R=X151is_pre_computable((/*RF2*/(C)->_instruction/*4*/));
  102. return R;
  103. }
  104.  
  105.  
  106. void r224error(T68 a1,T0* a2){
  107. r66add_position(a1);
  108. /*[IRF3.6append*/{T0* b1=a2;
  109. r7append((T7*)(oBC66explanation),b1);
  110. }/*]*/
  111. r66print_as_error((T66*)(oBC13eh));
  112. }
  113.  
  114.  
  115. T68 r224start_position(T224* C){
  116. T68 R={NULL,0};
  117. {T68 se_tmp0;
  118. R=(*(se_tmp0=X151start_position((/*RF2*/(C)->_instruction/*4*/)),&se_tmp0));
  119. }
  120. return R;
  121. }
  122.  
  123.  
  124. void r139compile_to_c_old(T139* C){
  125. T2 _c=0;
  126. T2 _i=0;
  127. _i=1;
  128. _c=r139count(C);
  129. while (!((_i)>(_c)))
  130. {
  131. X104compile_to_c_old(r139expression(C,_i));
  132. _i=(_i)+(1);
  133. }
  134. }
  135.  
  136.  
  137. void r139afd_check(T139* C){
  138. T2 _i=0;
  139. _i=r139count(C);
  140. while (!((_i)==(0)))
  141. {
  142. X104afd_check(r139expression(C,_i));
  143. _i=(_i)-(1);
  144. }
  145. }
  146.  
  147.  
  148. void r139c_declare_for_old(T139* C){
  149. T2 _c=0;
  150. T2 _i=0;
  151. _i=1;
  152. _c=r139count(C);
  153. while (!((_i)>(_c)))
  154. {
  155. X104c_declare_for_old(r139expression(C,_i));
  156. _i=(_i)+(1);
  157. }
  158. }
  159.  
  160.  
  161. void r139collect_c_tmp(T139* C){
  162. T2 _c=0;
  163. T2 _i=0;
  164. _i=1;
  165. _c=r139count(C);
  166. while (!((_i)>(_c)))
  167. {
  168. X104collect_c_tmp(r139expression(C,_i));
  169. _i=(_i)+(1);
  170. }
  171. }
  172.  
  173.  
  174. T6 r139use_current(T139* C){
  175. T6 R=0;
  176. T2 _i=0;
  177. _i=r139count(C);
  178. while (!((R)||((_i)==(0))))
  179. {
  180. R=X104use_current(r139expression(C,_i));
  181. _i=(_i)-(1);
  182. }
  183. return R;
  184. }
  185.  
  186.  
  187. T0* r139to_runnable(T139* C,T0* a1){
  188. T0* R=NULL;
  189. T0* _e2=NULL;
  190. T0* _e1=NULL;
  191. T2 _i=0;
  192. /*[IF*/
  193. if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
  194. (/*SFN*/C->_current_type)=a1;
  195. _i=r139count(C);
  196. while (!((_i)==(0)))
  197. {
  198. _e1=r139expression(C,_i);
  199. _e2=X104to_runnable(_e1,(/*RF2*/(C)->_current_type/*12*/));
  200. /*[IF*/
  201. if((_e2)==((void*)(NULL))){
  202. {T68 se_tmp0;
  203. r139error((*(se_tmp0=X104start_position(_e1),&se_tmp0)),((T0*)ms139_16290));
  204. }
  205. }
  206.  else if((_e1)!=((void*)(_e2))){
  207. r139put(C,_e2,_i);
  208. }
  209. /*FI]*/
  210. _i=(_i)-(1);
  211. }
  212. /*[IF*/
  213. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  214. R=((T0*)(C));
  215. }
  216. /*FI]*/
  217. }
  218.  else if((X52run_class(a1))==((void*)(r139run_class(C)))){
  219. R=((T0*)(C));
  220. }
  221. else{
  222. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  223. *n=M139;
  224. r139from_model(n,(T0*)C);
  225. R=((T0*)n);
  226. }
  227. R=X139to_runnable(R,a1);
  228. }
  229. /*FI]*/
  230. return R;
  231. }
  232.  
  233.  
  234. void r139dca_inline_ith(T139* C,T0* a1,T2 a2){
  235. T0* _ft=NULL;
  236. T0* _e=NULL;
  237. _e=r139expression(C,a2);
  238. _ft=X52run_type(r178type(((T178*)a1),a2));
  239. X104dca_inline_argument(_e,_ft);
  240. }
  241.  
  242.  
  243. void r139compile_to_c_ith(T139* C,T0* a1,T2 a2){
  244. T0* _ft=NULL;
  245. T0* _e=NULL;
  246. _e=r139expression(C,a2);
  247. _ft=X52run_type(r178type(((T178*)a1),a2));
  248. X104mapping_c_arg(_e,_ft);
  249. }
  250.  
  251.  
  252. T6 r139is_static(T139* C){
  253. T6 R=0;
  254. T2 _i=0;
  255. R=1;
  256. _i=r139count(C);
  257. while (!((!(R))||((_i)==(0))))
  258. {
  259. R=X104is_static(r139expression(C,_i));
  260. _i=(_i)-(1);
  261. }
  262. return R;
  263. }
  264.  
  265.  
  266. void r139put(T139* C,T0* a1,T2 a2){
  267. /*[IF*/
  268. if((a2)==(1)){
  269. (/*SFN*/C->_first_one)=a1;
  270. }
  271. else{
  272. X141put((/*RF2*/(C)->_remainder/*8*/),a1,(a2)-(2));
  273. }
  274. /*FI]*/
  275. }
  276.  
  277.  
  278. T2 r139count(T139* C){
  279. T2 R=0;
  280. /*[IF*/
  281. if(((/*RF2*/(C)->_remainder/*8*/))==((void*)(NULL))){
  282. R=1;
  283. }
  284. else{
  285. R=(/*SSWARF2*//*X141upper*/(/*RF2*/((T141*)((/*RF2*/(C)->_remainder/*8*/)))->_upper/*12*/))+(2);
  286. }
  287. /*FI]*/
  288. return R;
  289. }
  290.  
  291.  
  292. void r139error(T68 a1,T0* a2){
  293. r66add_position(a1);
  294. /*[IRF3.6append*/{T0* b1=a2;
  295. r7append((T7*)(oBC66explanation),b1);
  296. }/*]*/
  297. r66print_as_error((T66*)(oBC13eh));
  298. }
  299.  
  300.  
  301. void r139dca_inline(T139* C,T0* a1){
  302. T2 _up=0;
  303. T2 _i=0;
  304. _up=r139count(C);
  305. _i=1;
  306. while (!((_i)>(_up)))
  307. {
  308. r139dca_inline_ith(C,a1,_i);
  309. _i=(_i)+(1);
  310. /*[IF*/
  311. if((_i)<=(_up)){
  312. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  313. T3 b1=((T3)'\54');
  314. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  315. }/*]*/
  316. /*]*/
  317. }
  318. /*FI]*/
  319. }
  320. }
  321.  
  322.  
  323. T6 r139isa_dca_inline(T139* C,T0* a1,T0* a2){
  324. T6 R=0;
  325. T2 _r=0;
  326. T2 _i=0;
  327. T0* _e=NULL;
  328. T0* _args=NULL;
  329. T0* _relay_args=NULL;
  330. _relay_args=X334arguments(a1);
  331. _args=X334arguments(a2);
  332. R=1;
  333. _i=r139count(C);
  334. r374force((T374*)(oBC139isa_dca_inline_memory),0,_i);
  335. /*[IRF3.6clear_all*/{T374* C1=(T374*)(oBC139isa_dca_inline_memory);
  336. T6 __value=0;
  337. /*[IRF3.6set_all_with*/{T374* C2=C1;
  338. T6 c1=__value;
  339. r375set_all_with((/*RF2*/(C2)->_storage/*0*/),c1,((/*RF2*/(C2)->_upper/*8*/))-((/*RF2*/(C2)->_lower/*12*/)));
  340. }/*]*/
  341. }/*]*/
  342. while (!((!(R))||((_i)==(0))))
  343. {
  344. _e=r139expression(C,_i);
  345. _r=X104isa_dca_inline_argument(_e);
  346. {int z1=_r;
  347.  
  348. if((0==z1)){
  349. R=0;
  350. }
  351.  else 
  352. if((-1==z1)){
  353. /*[IF*/
  354. if(X52is_expanded(r178type(((T178*)_args),_i))){
  355. R=X52is_expanded(X104result_type(_e));
  356. }
  357. else{
  358. R=X52is_reference(X104result_type(_e));
  359. }
  360. /*FI]*/
  361. }
  362.  else{/*[IRF3.6put*/{T374* C1=(T374*)(oBC139isa_dca_inline_memory);
  363. T6 b1=1;
  364. T2 b2=_r;
  365. ((/*RF2*/(C1)->_storage/*0*/))[(b2)-((/*RF2*/(C1)->_lower/*12*/))]=(b1);
  366. }/*]*/
  367. /*[IF*/
  368. if(X52is_reference(r178type(((T178*)_relay_args),_r))){
  369. /*[IF*/
  370. if(X52is_reference(r178type(((T178*)_args),_i))){
  371. R=X52is_reference(X104result_type(_e));
  372. }
  373. else{
  374. R=0;
  375. }
  376. /*FI]*/
  377. }
  378.  else if(X52is_expanded(r178type(((T178*)_args),_i))){
  379. R=X52is_expanded(X104result_type(_e));
  380. }
  381. else{
  382. R=0;
  383. }
  384. /*FI]*/
  385. }}
  386. _i=(_i)-(1);
  387. }
  388. /*[IF*/
  389. if(R){
  390. /*[IF*/
  391. if((X334arguments(a1))!=((void*)(NULL))){
  392. _i=/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X334arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  393. }
  394. else{
  395. _i=0;
  396. }
  397. /*FI]*/
  398. while (!((!(R))||((_i)==(0))))
  399. {
  400. R=r374item((T374*)(oBC139isa_dca_inline_memory),_i);
  401. _i=(_i)-(1);
  402. }
  403. }
  404. /*FI]*/
  405. return R;
  406. }
  407.  
  408.  
  409. T6 r139can_be_dropped(T139* C){
  410. T6 R=0;
  411. T2 _i=0;
  412. R=1;
  413. _i=r139count(C);
  414. while (!((!(R))||((_i)==(0))))
  415. {
  416. R=X104can_be_dropped(r139expression(C,_i));
  417. _i=(_i)-(1);
  418. }
  419. return R;
  420. }
  421.  
  422.  
  423. void r139match_with(T139* C,T0* a1,T0* a2){
  424. T0* _ft=NULL;
  425. T0* _at=NULL;
  426. T0* _e=NULL;
  427. T2 _i=0;
  428. T0* _fal=NULL;
  429. _fal=X334arguments(a1);
  430. /*[IF*/
  431. if((_fal)==((void*)(NULL))){
  432. {T68 se_tmp0;
  433. r66add_position((*(se_tmp0=X334start_position(a1),&se_tmp0)));
  434. }
  435. {T68 se_tmp0;
  436. r139error((*(se_tmp0=r139start_position(C),&se_tmp0)),((T0*)ms139_36216));
  437. }
  438. }
  439. /*FI]*/
  440. /*[IF*/
  441. if(((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0))&&((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(((T178*)_fal))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(r139count(C)))){
  442. {T68 se_tmp0;
  443. r66add_position((*(se_tmp0=r178start_position(((T178*)_fal)),&se_tmp0)));
  444. }
  445. {T68 se_tmp0;
  446. r139error((*(se_tmp0=r139start_position(C),&se_tmp0)),((T0*)ms139_36216));
  447. }
  448. }
  449. /*FI]*/
  450. _i=r139count(C);
  451. while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0))))
  452. {
  453. _e=r139expression(C,_i);
  454. _at=X104result_type(_e);
  455. _ft=r178type(((T178*)_fal),_i);
  456. /*[IF*/
  457. if(X104is_void(_e)){
  458. /*[IF*/
  459. if(X52is_expanded(_ft)){
  460. {T68 se_tmp0;
  461. r66add_position((*(se_tmp0=X104start_position(_e),&se_tmp0)));
  462. }
  463. {T68 se_tmp0;
  464. r139error((*(se_tmp0=X52start_position(_ft),&se_tmp0)),((T0*)ms139_89271));
  465. }
  466. }
  467. /*FI]*/
  468. }
  469.  else if(X52is_like_current(_ft)){
  470. /*[IF*/
  471. if(X52is_a(X52run_type(_at),X52run_type(_ft))){
  472. /*[IF*/
  473. if(X52is_expanded(X52run_type(_at))){
  474. }
  475.  else if(X52is_a(X52run_type(_at),X52run_type(_ft))){
  476. }
  477. else{
  478. {T68 se_tmp0;
  479. r66add_position((*(se_tmp0=X104start_position(_e),&se_tmp0)));
  480. }
  481. {T68 se_tmp0;
  482. r139error((*(se_tmp0=X52start_position(_ft),&se_tmp0)),((T0*)ms139_35088));
  483. }
  484. }
  485. /*FI]*/
  486. }
  487. else{
  488. {T68 se_tmp0;
  489. r66add_position((*(se_tmp0=X104start_position(_e),&se_tmp0)));
  490. }
  491. {T68 se_tmp0;
  492. r139error((*(se_tmp0=X52start_position(_ft),&se_tmp0)),((T0*)ms139_35088));
  493. }
  494. }
  495. /*FI]*/
  496. }
  497.  else if(X52is_like_feature(_ft)){
  498. /*[IF*/
  499. if(X52is_a(X52run_type(_at),X52run_type(_ft))){
  500. }
  501. else{
  502. {T68 se_tmp0;
  503. r66add_position((*(se_tmp0=X104start_position(_e),&se_tmp0)));
  504. }
  505. {T68 se_tmp0;
  506. r139error((*(se_tmp0=X52start_position(_ft),&se_tmp0)),((T0*)ms139_40404));
  507. }
  508. }
  509. /*FI]*/
  510. }
  511.  else if(r139is_like_argument(C,_e,_at,_ft)){
  512. }
  513.  else if(X52is_a(_at,_ft)){
  514. }
  515. else{
  516. {T68 se_tmp0;
  517. r139error((*(se_tmp0=X104start_position(_e),&se_tmp0)),((T0*)ms139_99162));
  518. }
  519. }
  520. /*FI]*/
  521. _e=r341implicit_cast((T341*)(oBC13conversion_handler),_e,_ft);
  522. r139put(C,_e,_i);
  523. _i=(_i)-(1);
  524. }
  525. }
  526.  
  527.  
  528. void r139make_n(T139* C,T0* a1,T0* a2){
  529. (/*SFN*/C->_first_one)=a1;
  530. (/*SFN*/C->_remainder)=a2;
  531. }
  532.  
  533.  
  534. T0* r139run_class(T139* C){
  535. T0* R=NULL;
  536. R=X52run_class((/*RF2*/(C)->_current_type/*12*/));
  537. return R;
  538. }
  539.  
  540.  
  541. T6 r139is_like_argument(T139* C,T0* a1,T0* a2,T0* a3){
  542. T6 R=0;
  543. T0* _ot=NULL;
  544. T0* _tla=NULL;
  545. _tla=a3;
  546. if(NULL!=(_tla)){
  547. switch(((T0*)_tla)->id){
  548. case 257:
  549. break;
  550. default:
  551. _tla=NULL;
  552. }
  553. }/*[IF*/
  554. if((_tla)!=((void*)(NULL))){
  555. R=1;
  556. _ot=X104result_type(r139expression(C,/*(IRF4.6rank*/(/*RF2*/(((T179*)((/*RF2*/(((T257*)_tla))->_like_what/*12*/))))->_rank/*12*/)/*)*/));
  557. /*[IF*/
  558. if(!(X52is_a(X52run_type(a2),X52run_type(_ot)))){
  559. {T68 se_tmp0;
  560. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  561. }
  562. {T68 se_tmp0;
  563. r139error((*(se_tmp0=X52start_position(a3),&se_tmp0)),((T0*)ms139_43200));
  564. }
  565. }
  566. /*FI]*/
  567. }
  568. /*FI]*/
  569. return R;
  570. }
  571.  
  572.  
  573. void r139assertion_check(T139* C,T3 a1){
  574. T2 _i=0;
  575. _i=r139count(C);
  576. while (!((_i)==(0)))
  577. {
  578. X104assertion_check(r139expression(C,_i),a1);
  579. _i=(_i)-(1);
  580. }
  581. }
  582.  
  583.  
  584. void r139compile_to_c(T139* C,T0* a1){
  585. T2 _up=0;
  586. T2 _i=0;
  587. _i=1;
  588. _up=r139count(C);
  589. while (!((_i)>(_up)))
  590. {
  591. r139compile_to_c_ith(C,a1,_i);
  592. _i=(_i)+(1);
  593. /*[IF*/
  594. if((_i)<=(_up)){
  595. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  596. T3 b1=((T3)'\54');
  597. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  598. }/*]*/
  599. /*]*/
  600. }
  601. /*FI]*/
  602. }
  603. }
  604.  
  605.  
  606. T6 r139stupid_switch(T139* C,T0* a1){
  607. T6 R=0;
  608. T2 _i=0;
  609. R=1;
  610. _i=r139count(C);
  611. while (!((!(R))||((_i)==(0))))
  612. {
  613. R=X104stupid_switch(r139expression(C,_i),a1);
  614. _i=(_i)-(1);
  615. }
  616. return R;
  617. }
  618.  
  619.  
  620. T0* r139expression(T139* C,T2 a1){
  621. T0* R=NULL;
  622. /*[IF*/
  623. if((a1)==(1)){
  624. R=(/*RF2*/(C)->_first_one/*4*/);
  625. }
  626. else{
  627. R=X141item((/*RF2*/(C)->_remainder/*8*/),(a1)-(2));
  628. }
  629. /*FI]*/
  630. return R;
  631. }
  632.  
  633.  
  634. void r139from_model(T139* C,T0* a1){
  635. (/*SFN*/C->_first_one)=/*SSWARF2*//*X139first_one*/(/*RF2*/(((T139*)a1))->_first_one/*4*/);
  636. (/*SFN*/C->_remainder)=/*SSWARF2*//*X139remainder*/(/*RF2*/(((T139*)a1))->_remainder/*8*/);
  637. /*[IF*/
  638. if(((/*RF2*/(C)->_remainder/*8*/))!=((void*)(NULL))){
  639. (/*SFN*/C->_remainder)=X141twin((/*RF2*/(C)->_remainder/*8*/));
  640. }
  641. /*FI]*/
  642. }
  643. T0*oBC139isa_dca_inline_memory=NULL;
  644.  
  645.  
  646. T6 r139is_pre_computable(T139* C){
  647. T6 R=0;
  648. T2 _i=0;
  649. _i=r139count(C);
  650. R=1;
  651. while (!((!(R))||((_i)==(0))))
  652. {
  653. R=X104is_pre_computable(r139expression(C,_i));
  654. _i=(_i)-(1);
  655. }
  656. return R;
  657. }
  658.  
  659.  
  660. T68 r139start_position(T139* C){
  661. T68 R={NULL,0};
  662. {T68 se_tmp0;
  663. R=(*(se_tmp0=X104start_position(/*(IRF4.3first*/(/*RF2*/(C)->_first_one/*4*/)/*)*/),&se_tmp0));
  664. }
  665. return R;
  666. }
  667.  
  668.  
  669. void r135compile_to_c_old(T135* C){
  670. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  671. /*[IF*/
  672. /*AF*//*AE*/
  673. /*FI]*/
  674. }
  675.  
  676.  
  677. T0* r135runnable_expression(T0* a1,T0* a2){
  678. T0* R=NULL;
  679. R=X104to_runnable(a1,a2);
  680. /*[IF*/
  681. if((R)==((void*)(NULL))){
  682. {T68 se_tmp0;
  683. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  684. }
  685. r135fatal_error(((T0*)ms116_16290));
  686. }
  687. /*FI]*/
  688. return R;
  689. }
  690.  
  691.  
  692. void r135run_feature_has_result(T135* C){
  693. /*[IF*/
  694. if((X334result_type((/*RF2*/(C)->_run_feature/*8*/)))==((void*)(NULL))){
  695. {T68 se_tmp0;
  696. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*8*/)),&se_tmp0)));
  697. }
  698. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  699. r135fatal_error(((T0*)ms115_53215));
  700. }
  701. /*FI]*/
  702. }
  703.  
  704.  
  705. T2 r135static_value(T135* C){
  706. T2 R=0;
  707. /*[IF*/
  708. if(X52is_integer(X104result_type((/*RF2*/(C)->_target/*4*/)))){
  709. /*[IF*/
  710. if(X104is_static((/*RF2*/(C)->_target/*4*/))){
  711. R=X104static_value((/*RF2*/(C)->_target/*4*/));
  712. }
  713. /*FI]*/
  714. }
  715. /*FI]*/
  716. return R;
  717. }
  718.  
  719.  
  720. void r135run_feature_match(T135* C){
  721. r135run_feature_has_result(C);
  722. /*[IF*/
  723. if((X334arguments((/*RF2*/(C)->_run_feature/*8*/)))!=((void*)(NULL))){
  724. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  725. {T68 se_tmp0;
  726. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*8*/)),&se_tmp0)));
  727. }
  728. r135fatal_error(((T0*)ms132_50092));
  729. }
  730. /*FI]*/
  731. }
  732.  
  733.  
  734. void r135dca_inline_argument(T135* C,T0* a1){
  735. X104dca_inline_argument((/*RF2*/(C)->_target/*4*/),a1);
  736. }
  737.  
  738.  
  739. T0* r135add_comment(T135* C,T0* a1){
  740. T0* R=NULL;
  741. /*[IF*/
  742. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  743. R=((T0*)(C));
  744. }
  745. else{
  746. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  747. *n=M229;
  748. r229make(n,(T0*)C,a1);
  749. R=((T0*)n);
  750. }
  751. }
  752. /*FI]*/
  753. return R;
  754. }
  755.  
  756.  
  757. void r135with(T135* C,T0* a1,T0* a2,T0* a3){
  758. (/*SFN*/C->_target)=a1;
  759. (/*SFN*/C->_feature_name)=a2;
  760. (/*SFN*/C->_run_feature)=a3;
  761. r135run_feature_match(C);
  762. }
  763.  
  764.  
  765. void r135mapping_c_target(T135* C,T0* a1){
  766. T0* _actual_type=NULL;
  767. T6 _flag=0;
  768. _flag=r325call_invariant_start(a1);
  769. _actual_type=X52run_type(r135result_type(C));
  770. /*[IF*/
  771. if(X52is_reference(_actual_type)){
  772. /*[IF*/
  773. if(X52is_reference(a1)){
  774. X52mapping_cast(a1);
  775. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  776. T3 b1=((T3)'\50');
  777. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  778. }/*]*/
  779. /*]*/
  780. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T135* C1=C;
  781. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  782. }/*]*/
  783. /*]*/
  784. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  785. T3 b1=((T3)'\51');
  786. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  787. }/*]*/
  788. /*]*/
  789. }
  790. else{
  791. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T135* C1=C;
  792. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  793. }/*]*/
  794. /*]*/
  795. }
  796. /*FI]*/
  797. }
  798. else{
  799. /*[IF*/
  800. if(X52is_reference(a1)){
  801. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T135* C1=C;
  802. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  803. }/*]*/
  804. /*]*/
  805. }
  806. else{
  807. /*[IF*/
  808. if(X52need_c_struct(a1)){
  809. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  810. T3 b1=((T3)'\46');
  811. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  812. }/*]*/
  813. /*]*/
  814. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  815. T3 b1=((T3)'\50');
  816. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  817. }/*]*/
  818. /*]*/
  819. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T135* C1=C;
  820. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  821. }/*]*/
  822. /*]*/
  823. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  824. T3 b1=((T3)'\51');
  825. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  826. }/*]*/
  827. /*]*/
  828. }
  829. else{
  830. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T135* C1=C;
  831. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  832. }/*]*/
  833. /*]*/
  834. }
  835. /*FI]*/
  836. }
  837. /*FI]*/
  838. }
  839. /*FI]*/
  840. /*[IF*/
  841. if(_flag){
  842. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  843. T3 b1=((T3)'\51');
  844. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  845. }/*]*/
  846. /*]*/
  847. }
  848. /*FI]*/
  849. }
  850.  
  851.  
  852. void r135afd_check(T135* C){
  853. T0* _running=NULL;
  854. T0* _rc=NULL;
  855. /*[IF*/
  856. if(((/*RF2*/(C)->_run_feature/*8*/))!=((void*)(NULL))){
  857. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  858. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  859. /*[IF*/
  860. if((_running)==((void*)(NULL))){
  861. }
  862.  else if((r53count(((T53*)_running)))>(1)){
  863. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*8*/));
  864. }
  865. /*FI]*/
  866. }
  867. /*FI]*/
  868. X104afd_check((/*RF2*/(C)->_target/*4*/));
  869. /*[IF*/
  870. /*AF*//*AE*/
  871. /*FI]*/
  872. }
  873.  
  874.  
  875. void r135c_declare_for_old(T135* C){
  876. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  877. /*[IF*/
  878. /*AF*//*AE*/
  879. /*FI]*/
  880. }
  881.  
  882.  
  883. void r135collect_c_tmp(T135* C){
  884. /*[IF*/
  885. if(((/*RF2*/(C)->_run_feature/*8*/))!=((void*)(NULL))){
  886. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*8*/));
  887. }
  888. /*FI]*/
  889. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  890. /*[IF*/
  891. /*AF*//*AE*/
  892. /*FI]*/
  893. }
  894.  
  895.  
  896. T0* r135operator(void){
  897. T0* R=NULL;
  898. R=((T0*)ms15_43);
  899. return R;
  900. }
  901.  
  902.  
  903. T6 r135use_current(T135* C){
  904. T6 R=0;
  905. /*[IF*/
  906. /*AF*//*AE*/
  907. /*FI]*/
  908. /*[IF*/
  909. if(R){
  910. }
  911.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  912. R=X334use_current((/*RF2*/(C)->_run_feature/*8*/));
  913. }
  914. else{
  915. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  916. }
  917. /*FI]*/
  918. return R;
  919. }
  920.  
  921.  
  922. T0* r135to_runnable(T135* C,T0* a1){
  923. T0* R=NULL;
  924. T0* _rf=NULL;
  925. T0* _t=NULL;
  926. _t=r135runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  927. _rf=r135run_feature_for(C,_t,a1);
  928. /*[IF*/
  929. if(((/*RF2*/(C)->_run_feature/*8*/))==((void*)(NULL))){
  930. (/*SFN*/C->_target)=_t;
  931. (/*SFN*/C->_run_feature)=_rf;
  932. r135run_feature_match(C);
  933. R=((T0*)(C));
  934. }
  935.  else if((_t)==((void*)((/*RF2*/(C)->_target/*4*/)))){
  936. R=((T0*)(C));
  937. }
  938. else{
  939. {T135*n=((T135*)malloc(sizeof(*n))/*16*/);
  940. *n=M135;
  941. r135with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_rf);
  942. R=((T0*)n);
  943. }
  944. }
  945. /*FI]*/
  946. return R;
  947. }
  948.  
  949.  
  950. T2 r135to_integer(T135* C){
  951. T2 R=0;
  952. T0* _rf1=NULL;
  953. _rf1=(/*RF2*/(C)->_run_feature/*8*/);
  954. if(NULL!=(_rf1)){
  955. switch(((T0*)_rf1)->id){
  956. case 388:
  957. break;
  958. default:
  959. _rf1=NULL;
  960. }
  961. }/*[IF*/
  962. if((_rf1)==((void*)(NULL))){
  963. r135error(/*(IRF4.6start_position*/(/*RF2*/(((T133*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  964. }
  965. else{
  966. R=X104to_integer((/*RF2*/(((T388*)_rf1))->_value/*28*/));
  967. }
  968. /*FI]*/
  969. return R;
  970. }
  971.  
  972.  
  973. T6 r135is_static(T135* C){
  974. T6 R=0;
  975. /*[IF*/
  976. if(X52is_integer(X104result_type((/*RF2*/(C)->_target/*4*/)))){
  977. /*[IF*/
  978. if(X104is_static((/*RF2*/(C)->_target/*4*/))){
  979. R=1;
  980. }
  981. /*FI]*/
  982. }
  983. /*FI]*/
  984. return R;
  985. }
  986.  
  987.  
  988. void r135finalize(T135* C){
  989. T0* _rf=NULL;
  990. T0* _rc=NULL;
  991. _rf=(/*RF2*/(C)->_run_feature/*8*/);
  992. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  993. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  994. }
  995.  
  996.  
  997. void r135error(T68 a1,T0* a2){
  998. r66add_position(a1);
  999. /*[IRF3.6append*/{T0* b1=a2;
  1000. r7append((T7*)(oBC66explanation),b1);
  1001. }/*]*/
  1002. r66print_as_error((T66*)(oBC13eh));
  1003. }
  1004.  
  1005.  
  1006. T0* r135result_type(T135* C){
  1007. T0* R=NULL;
  1008. R=X334result_type((/*RF2*/(C)->_run_feature/*8*/));
  1009. /*[IF*/
  1010. if(X52is_like_current(R)){
  1011. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*8*/)))->_current_type/*8*/);
  1012. }
  1013. /*FI]*/
  1014. return R;
  1015. }
  1016.  
  1017.  
  1018. T6 r135can_be_dropped(T135* C){
  1019. T6 R=0;
  1020. /*[IF*/
  1021. if(X104can_be_dropped((/*RF2*/(C)->_target/*4*/))){
  1022. R=X334can_be_dropped((/*RF2*/(C)->_run_feature/*8*/));
  1023. }
  1024. /*FI]*/
  1025. return R;
  1026. }
  1027.  
  1028.  
  1029. T6 r135call_proc_call_stupid_switch(T135* C,T0* a1){
  1030. T6 R=0;
  1031. /*[IF*/
  1032. {/*AT*/R=1;
  1033. }
  1034. /*FI]*/
  1035. /*[IF*/
  1036. if(R){
  1037. /*[IF*/
  1038. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  1039. /*[IF*/
  1040. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*8*/),a1)){
  1041. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*8*/),a1))!=((void*)(NULL));
  1042. }
  1043. else{
  1044. R=0;
  1045. }
  1046. /*FI]*/
  1047. }
  1048. else{
  1049. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  1050. }
  1051. /*FI]*/
  1052. }
  1053. /*FI]*/
  1054. return R;
  1055. }
  1056.  
  1057.  
  1058. T0* r135run_feature_for(T135* C,T0* a1,T0* a2){
  1059. T0* R=NULL;
  1060. T0* _bc=NULL;
  1061. T0* _rt=NULL;
  1062. T0* _rc=NULL;
  1063. _rt=X104result_type(a1);
  1064. /*[IF*/
  1065. if((_rt)!=((void*)(NULL))){
  1066. _rc=X52run_class(_rt);
  1067. /*[IF*/
  1068. if((_rc)!=((void*)(NULL))){
  1069. _bc=r50base_class(((T50*)_rc));
  1070. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  1071. }
  1072. /*FI]*/
  1073. }
  1074. /*FI]*/
  1075. /*[IF*/
  1076. if((R)==((void*)(NULL))){
  1077. r66add_position((/*RF2*/((T133*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  1078. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  1079. r7append((T7*)(oBC66explanation),b1);
  1080. }/*]*/
  1081. r66print_as_fatal_error((T66*)(oBC13eh));
  1082. }
  1083. /*FI]*/
  1084. return R;
  1085. }
  1086.  
  1087.  
  1088. T0* r135static_result_base_class(T135* C){
  1089. T0* R=NULL;
  1090. T0* _cn=NULL;
  1091. T0* _rt=NULL;
  1092. T0* _e_feature=NULL;
  1093. T0* _bc=NULL;
  1094. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  1095. /*[IF*/
  1096. if((_bc)!=((void*)(NULL))){
  1097. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  1098. /*[IF*/
  1099. if((_e_feature)!=((void*)(NULL))){
  1100. _rt=X90result_type(_e_feature);
  1101. /*[IF*/
  1102. if((_rt)!=((void*)(NULL))){
  1103. _cn=X52static_base_class_name(_rt);
  1104. /*[IF*/
  1105. if((_cn)!=((void*)(NULL))){
  1106. R=r61base_class(((T61*)_cn));
  1107. }
  1108. /*FI]*/
  1109. }
  1110. /*FI]*/
  1111. }
  1112. /*FI]*/
  1113. }
  1114. /*FI]*/
  1115. return R;
  1116. }
  1117.  
  1118.  
  1119. void r135make(T135* C,T68 a1,T0* a2){
  1120. {T133*n=((T133*)malloc(sizeof(*n))/*20*/);
  1121. *n=M133;
  1122. r133make(n,r135operator(),a1);
  1123. (/*SFN*/C->_feature_name)=((T0*)n);
  1124. }
  1125. (/*SFN*/C->_target)=a2;
  1126. }
  1127.  
  1128.  
  1129. void r135fatal_error(T0* a1){
  1130. /*[IRF3.6append*/{T0* b1=a1;
  1131. r7append((T7*)(oBC66explanation),b1);
  1132. }/*]*/
  1133. r66print_as_fatal_error((T66*)(oBC13eh));
  1134. }
  1135.  
  1136.  
  1137. void r135assertion_check(T135* C,T3 a1){
  1138. /*[IF*/
  1139. if((a1)==(((T3)'R'))){
  1140. X334vape_check_from((/*RF2*/(C)->_run_feature/*8*/),/*(IRF4.6start_position*/(/*RF2*/(((T133*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  1141. }
  1142. /*FI]*/
  1143. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  1144. }
  1145.  
  1146.  
  1147. T6 r135stupid_switch(T135* C,T0* a1){
  1148. T6 R=0;
  1149. R=r135call_proc_call_stupid_switch(C,a1);
  1150. /*[IF*/
  1151. if(R){
  1152. R=!(X52is_native_array(r135result_type(C)));
  1153. }
  1154. /*FI]*/
  1155. return R;
  1156. }
  1157.  
  1158.  
  1159. T2 r135isa_dca_inline_argument(T135* C){
  1160. T2 R=0;
  1161. /*[IF*/
  1162. if(X52is_integer(r135result_type(C))){
  1163. R=X104isa_dca_inline_argument((/*RF2*/(C)->_target/*4*/));
  1164. }
  1165. /*FI]*/
  1166. return R;
  1167. }
  1168.  
  1169.  
  1170. void r127compile_to_c_old(T127* C){
  1171. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  1172. /*[IF*/
  1173. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1174. }
  1175. /*FI]*/
  1176. }
  1177.  
  1178.  
  1179. T0* r127runnable_expression(T0* a1,T0* a2){
  1180. T0* R=NULL;
  1181. R=X104to_runnable(a1,a2);
  1182. /*[IF*/
  1183. if((R)==((void*)(NULL))){
  1184. {T68 se_tmp0;
  1185. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  1186. }
  1187. r127fatal_error(((T0*)ms116_16290));
  1188. }
  1189. /*FI]*/
  1190. return R;
  1191. }
  1192.  
  1193.  
  1194. void r127run_feature_has_result(T127* C){
  1195. /*[IF*/
  1196. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  1197. {T68 se_tmp0;
  1198. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  1199. }
  1200. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  1201. r127fatal_error(((T0*)ms115_53215));
  1202. }
  1203. /*FI]*/
  1204. }
  1205.  
  1206.  
  1207. void r127run_feature_match(T127* C,T0* a1){
  1208. r127run_feature_has_result(C);
  1209. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  1210. }
  1211.  
  1212.  
  1213. T0* r127add_comment(T127* C,T0* a1){
  1214. T0* R=NULL;
  1215. /*[IF*/
  1216. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  1217. R=((T0*)(C));
  1218. }
  1219. else{
  1220. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  1221. *n=M229;
  1222. r229make(n,(T0*)C,a1);
  1223. R=((T0*)n);
  1224. }
  1225. }
  1226. /*FI]*/
  1227. return R;
  1228. }
  1229.  
  1230.  
  1231. void r127with(T127* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1232. (/*SFN*/C->_target)=a1;
  1233. (/*SFN*/C->_feature_name)=a2;
  1234. (/*SFN*/C->_arguments)=a3;
  1235. (/*SFN*/C->_run_feature)=a4;
  1236. r127run_feature_match(C,a5);
  1237. }
  1238.  
  1239.  
  1240. void r127mapping_c_target(T127* C,T0* a1){
  1241. T0* _actual_type=NULL;
  1242. T6 _flag=0;
  1243. _flag=r325call_invariant_start(a1);
  1244. _actual_type=X52run_type(r127result_type(C));
  1245. /*[IF*/
  1246. if(X52is_reference(_actual_type)){
  1247. /*[IF*/
  1248. if(X52is_reference(a1)){
  1249. X52mapping_cast(a1);
  1250. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1251. T3 b1=((T3)'\50');
  1252. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1253. }/*]*/
  1254. /*]*/
  1255. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T127* C1=C;
  1256. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1257. }/*]*/
  1258. /*]*/
  1259. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1260. T3 b1=((T3)'\51');
  1261. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1262. }/*]*/
  1263. /*]*/
  1264. }
  1265. else{
  1266. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T127* C1=C;
  1267. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1268. }/*]*/
  1269. /*]*/
  1270. }
  1271. /*FI]*/
  1272. }
  1273. else{
  1274. /*[IF*/
  1275. if(X52is_reference(a1)){
  1276. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T127* C1=C;
  1277. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1278. }/*]*/
  1279. /*]*/
  1280. }
  1281. else{
  1282. /*[IF*/
  1283. if(X52need_c_struct(a1)){
  1284. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1285. T3 b1=((T3)'\46');
  1286. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1287. }/*]*/
  1288. /*]*/
  1289. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1290. T3 b1=((T3)'\50');
  1291. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1292. }/*]*/
  1293. /*]*/
  1294. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T127* C1=C;
  1295. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1296. }/*]*/
  1297. /*]*/
  1298. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1299. T3 b1=((T3)'\51');
  1300. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1301. }/*]*/
  1302. /*]*/
  1303. }
  1304. else{
  1305. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T127* C1=C;
  1306. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1307. }/*]*/
  1308. /*]*/
  1309. }
  1310. /*FI]*/
  1311. }
  1312. /*FI]*/
  1313. }
  1314. /*FI]*/
  1315. /*[IF*/
  1316. if(_flag){
  1317. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  1318. T3 b1=((T3)'\51');
  1319. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1320. }/*]*/
  1321. /*]*/
  1322. }
  1323. /*FI]*/
  1324. }
  1325.  
  1326.  
  1327. void r127afd_check(T127* C){
  1328. T0* _running=NULL;
  1329. T0* _rc=NULL;
  1330. /*[IF*/
  1331. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  1332. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  1333. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  1334. /*[IF*/
  1335. if((_running)==((void*)(NULL))){
  1336. }
  1337.  else if((r53count(((T53*)_running)))>(1)){
  1338. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  1339. }
  1340. /*FI]*/
  1341. }
  1342. /*FI]*/
  1343. X104afd_check((/*RF2*/(C)->_target/*4*/));
  1344. /*[IF*/
  1345. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1346. }
  1347. /*FI]*/
  1348. }
  1349.  
  1350.  
  1351. void r127c_declare_for_old(T127* C){
  1352. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  1353. /*[IF*/
  1354. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1355. }
  1356. /*FI]*/
  1357. }
  1358.  
  1359.  
  1360. void r127collect_c_tmp(T127* C){
  1361. /*[IF*/
  1362. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  1363. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  1364. }
  1365. /*FI]*/
  1366. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  1367. /*[IF*/
  1368. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  1369. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1370. }
  1371. /*FI]*/
  1372. }
  1373.  
  1374.  
  1375. T0* r127operator(void){
  1376. T0* R=NULL;
  1377. R=((T0*)ms15_42);
  1378. return R;
  1379. }
  1380.  
  1381.  
  1382. T6 r127use_current(T127* C){
  1383. T6 R=0;
  1384. /*[IF*/
  1385. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1386. }
  1387. /*FI]*/
  1388. /*[IF*/
  1389. if(R){
  1390. }
  1391.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  1392. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  1393. }
  1394. else{
  1395. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  1396. }
  1397. /*FI]*/
  1398. return R;
  1399. }
  1400.  
  1401.  
  1402. T0* r127runnable_args(T0* a1,T0* a2){
  1403. T0* R=NULL;
  1404. R=X139to_runnable(a1,a2);
  1405. /*[IF*/
  1406. if((R)==((void*)(NULL))){
  1407. {T68 se_tmp0;
  1408. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  1409. }
  1410. r127fatal_error(((T0*)ms14_12870));
  1411. }
  1412. /*FI]*/
  1413. return R;
  1414. }
  1415.  
  1416.  
  1417. T0* r127to_runnable(T127* C,T0* a1){
  1418. T0* R=NULL;
  1419. T0* _target_type=NULL;
  1420. T0* _argument_type=NULL;
  1421. T0* _rf=NULL;
  1422. T0* _a=NULL;
  1423. T0* _t=NULL;
  1424. _t=r127runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  1425. _a=r127runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  1426. _target_type=X104result_type(_t);
  1427. _argument_type=X104result_type(r127arg1(C));
  1428. /*[IF*/
  1429. if(X52is_real(_argument_type)){
  1430. /*[IF*/
  1431. if(X52is_integer(_target_type)){
  1432. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  1433. }
  1434. /*FI]*/
  1435. }
  1436.  else if(X52is_double(_argument_type)){
  1437. /*[IF*/
  1438. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  1439. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  1440. }
  1441. /*FI]*/
  1442. }
  1443. /*FI]*/
  1444. _rf=r127run_feature_for(C,_t,a1);
  1445. /*[IF*/
  1446. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  1447. (/*SFN*/C->_target)=_t;
  1448. (/*SFN*/C->_arguments)=_a;
  1449. (/*SFN*/C->_run_feature)=_rf;
  1450. r127run_feature_match(C,a1);
  1451. R=((T0*)(C));
  1452. }
  1453.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  1454. R=((T0*)(C));
  1455. }
  1456. else{
  1457. {T127*n=((T127*)malloc(sizeof(*n))/*24*/);
  1458. *n=M127;
  1459. r127with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  1460. R=((T0*)n);
  1461. }
  1462. }
  1463. /*FI]*/
  1464. return R;
  1465. }
  1466.  
  1467.  
  1468. T2 r127to_integer(T127* C){
  1469. T2 R=0;
  1470. r127error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  1471. return R;
  1472. }
  1473.  
  1474.  
  1475. T6 r127is_static(T127* C){
  1476. T6 R=0;
  1477. /*[IF*/
  1478. if(X52is_integer(r127result_type(C))){
  1479. /*[IF*/
  1480. if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r127arg1(C)))){
  1481. R=1;
  1482. (/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))*(X104static_value(r127arg1(C)));
  1483. }
  1484. /*FI]*/
  1485. }
  1486. /*FI]*/
  1487. return R;
  1488. }
  1489.  
  1490.  
  1491. void r127finalize(T127* C){
  1492. T0* _rf=NULL;
  1493. T0* _rc=NULL;
  1494. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  1495. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  1496. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  1497. }
  1498.  
  1499.  
  1500. void r127error(T68 a1,T0* a2){
  1501. r66add_position(a1);
  1502. /*[IRF3.6append*/{T0* b1=a2;
  1503. r7append((T7*)(oBC66explanation),b1);
  1504. }/*]*/
  1505. r66print_as_error((T66*)(oBC13eh));
  1506. }
  1507.  
  1508.  
  1509. T0* r127result_type(T127* C){
  1510. T0* R=NULL;
  1511. T0* _tla=NULL;
  1512. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  1513. /*[IF*/
  1514. if(X52is_like_current(R)){
  1515. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  1516. }
  1517. else{
  1518. _tla=R;
  1519. if(NULL!=(_tla)){
  1520. switch(((T0*)_tla)->id){
  1521. case 257:
  1522. break;
  1523. default:
  1524. _tla=NULL;
  1525. }
  1526. }/*[IF*/
  1527. if((_tla)!=((void*)(NULL))){
  1528. R=X52run_type(X104result_type(r127arg1(C)));
  1529. }
  1530. /*FI]*/
  1531. }
  1532. /*FI]*/
  1533. return R;
  1534. }
  1535.  
  1536.  
  1537. T0* r127arg1(T127* C){
  1538. T0* R=NULL;
  1539. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  1540. return R;
  1541. }
  1542.  
  1543.  
  1544. T6 r127call_proc_call_stupid_switch(T127* C,T0* a1){
  1545. T6 R=0;
  1546. /*[IF*/
  1547. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  1548. R=1;
  1549. }
  1550. else{
  1551. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  1552. }
  1553. /*FI]*/
  1554. /*[IF*/
  1555. if(R){
  1556. /*[IF*/
  1557. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  1558. /*[IF*/
  1559. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  1560. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  1561. }
  1562. else{
  1563. R=0;
  1564. }
  1565. /*FI]*/
  1566. }
  1567. else{
  1568. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  1569. }
  1570. /*FI]*/
  1571. }
  1572. /*FI]*/
  1573. return R;
  1574. }
  1575.  
  1576.  
  1577. T0* r127run_feature_for(T127* C,T0* a1,T0* a2){
  1578. T0* R=NULL;
  1579. T0* _bc=NULL;
  1580. T0* _rt=NULL;
  1581. T0* _rc=NULL;
  1582. _rt=X104result_type(a1);
  1583. /*[IF*/
  1584. if((_rt)!=((void*)(NULL))){
  1585. _rc=X52run_class(_rt);
  1586. /*[IF*/
  1587. if((_rc)!=((void*)(NULL))){
  1588. _bc=r50base_class(((T50*)_rc));
  1589. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  1590. }
  1591. /*FI]*/
  1592. }
  1593. /*FI]*/
  1594. /*[IF*/
  1595. if((R)==((void*)(NULL))){
  1596. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  1597. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  1598. r7append((T7*)(oBC66explanation),b1);
  1599. }/*]*/
  1600. r66print_as_fatal_error((T66*)(oBC13eh));
  1601. }
  1602. /*FI]*/
  1603. return R;
  1604. }
  1605.  
  1606.  
  1607. T0* r127static_result_base_class(T127* C){
  1608. T0* R=NULL;
  1609. T0* _cn=NULL;
  1610. T0* _rt=NULL;
  1611. T0* _e_feature=NULL;
  1612. T0* _bc=NULL;
  1613. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  1614. /*[IF*/
  1615. if((_bc)!=((void*)(NULL))){
  1616. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  1617. /*[IF*/
  1618. if((_e_feature)!=((void*)(NULL))){
  1619. _rt=X90result_type(_e_feature);
  1620. /*[IF*/
  1621. if((_rt)!=((void*)(NULL))){
  1622. _cn=X52static_base_class_name(_rt);
  1623. /*[IF*/
  1624. if((_cn)!=((void*)(NULL))){
  1625. R=r61base_class(((T61*)_cn));
  1626. }
  1627. /*FI]*/
  1628. }
  1629. /*FI]*/
  1630. }
  1631. /*FI]*/
  1632. }
  1633. /*FI]*/
  1634. return R;
  1635. }
  1636.  
  1637.  
  1638. void r127make(T127* C,T0* a1,T68 a2,T0* a3){
  1639. (/*SFN*/C->_target)=a1;
  1640. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  1641. *n=M129;
  1642. r129make(n,r127operator(),a2);
  1643. (/*SFN*/C->_feature_name)=((T0*)n);
  1644. }
  1645. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  1646. *n=M139;
  1647. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  1648. /*]*/
  1649. (/*SFN*/C->_arguments)=((T0*)n);
  1650. }
  1651. }
  1652.  
  1653.  
  1654. void r127fatal_error(T0* a1){
  1655. /*[IRF3.6append*/{T0* b1=a1;
  1656. r7append((T7*)(oBC66explanation),b1);
  1657. }/*]*/
  1658. r66print_as_fatal_error((T66*)(oBC13eh));
  1659. }
  1660.  
  1661.  
  1662. void r127assertion_check(T127* C,T3 a1){
  1663. /*[IF*/
  1664. if((a1)==(((T3)'R'))){
  1665. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  1666. }
  1667. /*FI]*/
  1668. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  1669. X104assertion_check(r127arg1(C),a1);
  1670. }
  1671.  
  1672.  
  1673. T6 r127stupid_switch(T127* C,T0* a1){
  1674. T6 R=0;
  1675. R=r127call_proc_call_stupid_switch(C,a1);
  1676. /*[IF*/
  1677. if(R){
  1678. R=!(X52is_native_array(r127result_type(C)));
  1679. }
  1680. /*FI]*/
  1681. return R;
  1682. }
  1683.  
  1684.  
  1685. void r122compile_to_c_old(T122* C){
  1686. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  1687. /*[IF*/
  1688. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1689. }
  1690. /*FI]*/
  1691. }
  1692.  
  1693.  
  1694. T0* r122runnable_expression(T0* a1,T0* a2){
  1695. T0* R=NULL;
  1696. R=X104to_runnable(a1,a2);
  1697. /*[IF*/
  1698. if((R)==((void*)(NULL))){
  1699. {T68 se_tmp0;
  1700. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  1701. }
  1702. r122fatal_error(((T0*)ms116_16290));
  1703. }
  1704. /*FI]*/
  1705. return R;
  1706. }
  1707.  
  1708.  
  1709. void r122run_feature_has_result(T122* C){
  1710. /*[IF*/
  1711. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  1712. {T68 se_tmp0;
  1713. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  1714. }
  1715. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  1716. r122fatal_error(((T0*)ms115_53215));
  1717. }
  1718. /*FI]*/
  1719. }
  1720.  
  1721.  
  1722. void r122run_feature_match(T122* C,T0* a1){
  1723. r122run_feature_has_result(C);
  1724. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  1725. }
  1726.  
  1727.  
  1728. void r122dca_inline_argument(T122* C,T0* a1){
  1729. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1730. T3 b1=((T3)'\50');
  1731. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1732. }/*]*/
  1733. /*]*/
  1734. X104dca_inline_argument((/*RF2*/(C)->_target/*4*/),a1);
  1735. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1736. T3 b1=((T3)'\51');
  1737. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1738. }/*]*/
  1739. /*]*/
  1740. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1741. T3 b1=((T3)'\55');
  1742. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1743. }/*]*/
  1744. /*]*/
  1745. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1746. T3 b1=((T3)'\50');
  1747. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1748. }/*]*/
  1749. /*]*/
  1750. X104dca_inline_argument(r122arg1(C),a1);
  1751. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1752. T3 b1=((T3)'\51');
  1753. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1754. }/*]*/
  1755. /*]*/
  1756. }
  1757.  
  1758.  
  1759. T0* r122add_comment(T122* C,T0* a1){
  1760. T0* R=NULL;
  1761. /*[IF*/
  1762. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  1763. R=((T0*)(C));
  1764. }
  1765. else{
  1766. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  1767. *n=M229;
  1768. r229make(n,(T0*)C,a1);
  1769. R=((T0*)n);
  1770. }
  1771. }
  1772. /*FI]*/
  1773. return R;
  1774. }
  1775.  
  1776.  
  1777. void r122with(T122* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1778. (/*SFN*/C->_target)=a1;
  1779. (/*SFN*/C->_feature_name)=a2;
  1780. (/*SFN*/C->_arguments)=a3;
  1781. (/*SFN*/C->_run_feature)=a4;
  1782. r122run_feature_match(C,a5);
  1783. }
  1784.  
  1785.  
  1786. void r122mapping_c_target(T122* C,T0* a1){
  1787. T0* _actual_type=NULL;
  1788. T6 _flag=0;
  1789. _flag=r325call_invariant_start(a1);
  1790. _actual_type=X52run_type(r122result_type(C));
  1791. /*[IF*/
  1792. if(X52is_reference(_actual_type)){
  1793. /*[IF*/
  1794. if(X52is_reference(a1)){
  1795. X52mapping_cast(a1);
  1796. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1797. T3 b1=((T3)'\50');
  1798. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1799. }/*]*/
  1800. /*]*/
  1801. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1802. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1803. }/*]*/
  1804. /*]*/
  1805. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1806. T3 b1=((T3)'\51');
  1807. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1808. }/*]*/
  1809. /*]*/
  1810. }
  1811. else{
  1812. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1813. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1814. }/*]*/
  1815. /*]*/
  1816. }
  1817. /*FI]*/
  1818. }
  1819. else{
  1820. /*[IF*/
  1821. if(X52is_reference(a1)){
  1822. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1823. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1824. }/*]*/
  1825. /*]*/
  1826. }
  1827. else{
  1828. /*[IF*/
  1829. if(X52need_c_struct(a1)){
  1830. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1831. T3 b1=((T3)'\46');
  1832. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1833. }/*]*/
  1834. /*]*/
  1835. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1836. T3 b1=((T3)'\50');
  1837. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1838. }/*]*/
  1839. /*]*/
  1840. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1841. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1842. }/*]*/
  1843. /*]*/
  1844. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1845. T3 b1=((T3)'\51');
  1846. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1847. }/*]*/
  1848. /*]*/
  1849. }
  1850. else{
  1851. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1852. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1853. }/*]*/
  1854. /*]*/
  1855. }
  1856. /*FI]*/
  1857. }
  1858. /*FI]*/
  1859. }
  1860. /*FI]*/
  1861. /*[IF*/
  1862. if(_flag){
  1863. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  1864. T3 b1=((T3)'\51');
  1865. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1866. }/*]*/
  1867. /*]*/
  1868. }
  1869. /*FI]*/
  1870. }
  1871.  
  1872.  
  1873. void r122afd_check(T122* C){
  1874. T0* _running=NULL;
  1875. T0* _rc=NULL;
  1876. /*[IF*/
  1877. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  1878. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  1879. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  1880. /*[IF*/
  1881. if((_running)==((void*)(NULL))){
  1882. }
  1883.  else if((r53count(((T53*)_running)))>(1)){
  1884. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  1885. }
  1886. /*FI]*/
  1887. }
  1888. /*FI]*/
  1889. X104afd_check((/*RF2*/(C)->_target/*4*/));
  1890. /*[IF*/
  1891. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1892. }
  1893. /*FI]*/
  1894. }
  1895.  
  1896.  
  1897. void r122c_declare_for_old(T122* C){
  1898. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  1899. /*[IF*/
  1900. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1901. }
  1902. /*FI]*/
  1903. }
  1904.  
  1905.  
  1906. void r122collect_c_tmp(T122* C){
  1907. /*[IF*/
  1908. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  1909. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  1910. }
  1911. /*FI]*/
  1912. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  1913. /*[IF*/
  1914. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  1915. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1916. }
  1917. /*FI]*/
  1918. }
  1919.  
  1920.  
  1921. T0* r122operator(void){
  1922. T0* R=NULL;
  1923. R=((T0*)ms15_45);
  1924. return R;
  1925. }
  1926.  
  1927.  
  1928. T6 r122use_current(T122* C){
  1929. T6 R=0;
  1930. /*[IF*/
  1931. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1932. }
  1933. /*FI]*/
  1934. /*[IF*/
  1935. if(R){
  1936. }
  1937.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  1938. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  1939. }
  1940. else{
  1941. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  1942. }
  1943. /*FI]*/
  1944. return R;
  1945. }
  1946.  
  1947.  
  1948. T0* r122runnable_args(T0* a1,T0* a2){
  1949. T0* R=NULL;
  1950. R=X139to_runnable(a1,a2);
  1951. /*[IF*/
  1952. if((R)==((void*)(NULL))){
  1953. {T68 se_tmp0;
  1954. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  1955. }
  1956. r122fatal_error(((T0*)ms14_12870));
  1957. }
  1958. /*FI]*/
  1959. return R;
  1960. }
  1961.  
  1962.  
  1963. T0* r122to_runnable(T122* C,T0* a1){
  1964. T0* R=NULL;
  1965. T0* _target_type=NULL;
  1966. T0* _argument_type=NULL;
  1967. T0* _rf=NULL;
  1968. T0* _a=NULL;
  1969. T0* _t=NULL;
  1970. _t=r122runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  1971. _a=r122runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  1972. _target_type=X104result_type(_t);
  1973. _argument_type=X104result_type(r122arg1(C));
  1974. /*[IF*/
  1975. if(X52is_real(_argument_type)){
  1976. /*[IF*/
  1977. if(X52is_integer(_target_type)){
  1978. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  1979. }
  1980. /*FI]*/
  1981. }
  1982.  else if(X52is_double(_argument_type)){
  1983. /*[IF*/
  1984. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  1985. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  1986. }
  1987. /*FI]*/
  1988. }
  1989. /*FI]*/
  1990. _rf=r122run_feature_for(C,_t,a1);
  1991. /*[IF*/
  1992. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  1993. (/*SFN*/C->_target)=_t;
  1994. (/*SFN*/C->_arguments)=_a;
  1995. (/*SFN*/C->_run_feature)=_rf;
  1996. r122run_feature_match(C,a1);
  1997. R=((T0*)(C));
  1998. }
  1999.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  2000. R=((T0*)(C));
  2001. }
  2002. else{
  2003. {T122*n=((T122*)malloc(sizeof(*n))/*24*/);
  2004. *n=M122;
  2005. r122with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  2006. R=((T0*)n);
  2007. }
  2008. }
  2009. /*FI]*/
  2010. return R;
  2011. }
  2012.  
  2013.  
  2014. T2 r122to_integer(T122* C){
  2015. T2 R=0;
  2016. r122error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  2017. return R;
  2018. }
  2019.  
  2020.  
  2021. T6 r122is_static(T122* C){
  2022. T6 R=0;
  2023. /*[IF*/
  2024. if(X52is_integer(r122result_type(C))){
  2025. /*[IF*/
  2026. if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r122arg1(C)))){
  2027. R=1;
  2028. (/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))-(X104static_value(r122arg1(C)));
  2029. }
  2030. /*FI]*/
  2031. }
  2032. /*FI]*/
  2033. return R;
  2034. }
  2035.  
  2036.  
  2037. void r122finalize(T122* C){
  2038. T0* _rf=NULL;
  2039. T0* _rc=NULL;
  2040. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  2041. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  2042. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  2043. }
  2044.  
  2045.  
  2046. void r122error(T68 a1,T0* a2){
  2047. r66add_position(a1);
  2048. /*[IRF3.6append*/{T0* b1=a2;
  2049. r7append((T7*)(oBC66explanation),b1);
  2050. }/*]*/
  2051. r66print_as_error((T66*)(oBC13eh));
  2052. }
  2053.  
  2054.  
  2055. T0* r122result_type(T122* C){
  2056. T0* R=NULL;
  2057. T0* _tla=NULL;
  2058. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  2059. /*[IF*/
  2060. if(X52is_like_current(R)){
  2061. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  2062. }
  2063. else{
  2064. _tla=R;
  2065. if(NULL!=(_tla)){
  2066. switch(((T0*)_tla)->id){
  2067. case 257:
  2068. break;
  2069. default:
  2070. _tla=NULL;
  2071. }
  2072. }/*[IF*/
  2073. if((_tla)!=((void*)(NULL))){
  2074. R=X52run_type(X104result_type(r122arg1(C)));
  2075. }
  2076. /*FI]*/
  2077. }
  2078. /*FI]*/
  2079. return R;
  2080. }
  2081.  
  2082.  
  2083. T0* r122arg1(T122* C){
  2084. T0* R=NULL;
  2085. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  2086. return R;
  2087. }
  2088.  
  2089.  
  2090. T6 r122call_proc_call_stupid_switch(T122* C,T0* a1){
  2091. T6 R=0;
  2092. /*[IF*/
  2093. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  2094. R=1;
  2095. }
  2096. else{
  2097. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  2098. }
  2099. /*FI]*/
  2100. /*[IF*/
  2101. if(R){
  2102. /*[IF*/
  2103. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2104. /*[IF*/
  2105. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  2106. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  2107. }
  2108. else{
  2109. R=0;
  2110. }
  2111. /*FI]*/
  2112. }
  2113. else{
  2114. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  2115. }
  2116. /*FI]*/
  2117. }
  2118. /*FI]*/
  2119. return R;
  2120. }
  2121.  
  2122.  
  2123. T0* r122run_feature_for(T122* C,T0* a1,T0* a2){
  2124. T0* R=NULL;
  2125. T0* _bc=NULL;
  2126. T0* _rt=NULL;
  2127. T0* _rc=NULL;
  2128. _rt=X104result_type(a1);
  2129. /*[IF*/
  2130. if((_rt)!=((void*)(NULL))){
  2131. _rc=X52run_class(_rt);
  2132. /*[IF*/
  2133. if((_rc)!=((void*)(NULL))){
  2134. _bc=r50base_class(((T50*)_rc));
  2135. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  2136. }
  2137. /*FI]*/
  2138. }
  2139. /*FI]*/
  2140. /*[IF*/
  2141. if((R)==((void*)(NULL))){
  2142. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2143. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  2144. r7append((T7*)(oBC66explanation),b1);
  2145. }/*]*/
  2146. r66print_as_fatal_error((T66*)(oBC13eh));
  2147. }
  2148. /*FI]*/
  2149. return R;
  2150. }
  2151.  
  2152.  
  2153. T0* r122static_result_base_class(T122* C){
  2154. T0* R=NULL;
  2155. T0* _cn=NULL;
  2156. T0* _rt=NULL;
  2157. T0* _e_feature=NULL;
  2158. T0* _bc=NULL;
  2159. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  2160. /*[IF*/
  2161. if((_bc)!=((void*)(NULL))){
  2162. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  2163. /*[IF*/
  2164. if((_e_feature)!=((void*)(NULL))){
  2165. _rt=X90result_type(_e_feature);
  2166. /*[IF*/
  2167. if((_rt)!=((void*)(NULL))){
  2168. _cn=X52static_base_class_name(_rt);
  2169. /*[IF*/
  2170. if((_cn)!=((void*)(NULL))){
  2171. R=r61base_class(((T61*)_cn));
  2172. }
  2173. /*FI]*/
  2174. }
  2175. /*FI]*/
  2176. }
  2177. /*FI]*/
  2178. }
  2179. /*FI]*/
  2180. return R;
  2181. }
  2182.  
  2183.  
  2184. void r122make(T122* C,T0* a1,T68 a2,T0* a3){
  2185. (/*SFN*/C->_target)=a1;
  2186. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  2187. *n=M129;
  2188. r129make(n,r122operator(),a2);
  2189. (/*SFN*/C->_feature_name)=((T0*)n);
  2190. }
  2191. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  2192. *n=M139;
  2193. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  2194. /*]*/
  2195. (/*SFN*/C->_arguments)=((T0*)n);
  2196. }
  2197. }
  2198.  
  2199.  
  2200. void r122fatal_error(T0* a1){
  2201. /*[IRF3.6append*/{T0* b1=a1;
  2202. r7append((T7*)(oBC66explanation),b1);
  2203. }/*]*/
  2204. r66print_as_fatal_error((T66*)(oBC13eh));
  2205. }
  2206.  
  2207.  
  2208. void r122assertion_check(T122* C,T3 a1){
  2209. /*[IF*/
  2210. if((a1)==(((T3)'R'))){
  2211. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  2212. }
  2213. /*FI]*/
  2214. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  2215. X104assertion_check(r122arg1(C),a1);
  2216. }
  2217.  
  2218.  
  2219. T6 r122stupid_switch(T122* C,T0* a1){
  2220. T6 R=0;
  2221. R=r122call_proc_call_stupid_switch(C,a1);
  2222. /*[IF*/
  2223. if(R){
  2224. R=!(X52is_native_array(r122result_type(C)));
  2225. }
  2226. /*FI]*/
  2227. return R;
  2228. }
  2229.  
  2230.  
  2231. T2 r122isa_dca_inline_argument(T122* C){
  2232. T2 R=0;
  2233. R=X104isa_dca_inline_argument((/*RF2*/(C)->_target/*4*/));
  2234. /*[IF*/
  2235. if((R)==(-(1))){
  2236. R=X104isa_dca_inline_argument(r122arg1(C));
  2237. }
  2238.  else if((R)>(0)){
  2239. /*[IF*/
  2240. if((X104isa_dca_inline_argument(r122arg1(C)))>=(0)){
  2241. R=0;
  2242. }
  2243. /*FI]*/
  2244. }
  2245. /*FI]*/
  2246. return R;
  2247. }
  2248.  
  2249.  
  2250. void r189compile_to_c_old(T189* C){
  2251. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  2252. /*[IF*/
  2253. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2254. }
  2255. /*FI]*/
  2256. }
  2257.  
  2258.  
  2259. T2 r189static_value(T189* C){
  2260. T2 R=0;
  2261. /*[IF*/
  2262. if(X104is_void((/*RF2*/(C)->_target/*4*/))){
  2263. R=r189static_neq_void(r189arg1(C));
  2264. }
  2265.  else if(X104is_void(r189arg1(C))){
  2266. R=r189static_neq_void((/*RF2*/(C)->_target/*4*/));
  2267. }
  2268.  else if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r189arg1(C)))){
  2269. /*[IF*/
  2270. if((X104static_value((/*RF2*/(C)->_target/*4*/)))!=(X104static_value(r189arg1(C)))){
  2271. R=1;
  2272. }
  2273. /*FI]*/
  2274. }
  2275. /*FI]*/
  2276. return R;
  2277. }
  2278.  
  2279.  
  2280. T2 r189static_neq_void(T0* a1){
  2281. T2 R=0;
  2282. T0* _rt=NULL;
  2283. /*[IF*/
  2284. if(((X104is_current(a1))||(X104is_manifest_string(a1)))||(X104is_manifest_array(a1))){
  2285. R=1;
  2286. }
  2287. else{
  2288. _rt=X52run_type(X104result_type(a1));
  2289. /*[IF*/
  2290. if(X52is_expanded(_rt)){
  2291. R=1;
  2292. }
  2293.  else if(X104is_static(a1)){
  2294. /*[IF*/
  2295. if((X104static_value(a1))!=(0)){
  2296. R=1;
  2297. }
  2298. /*FI]*/
  2299. }
  2300. /*FI]*/
  2301. }
  2302. /*FI]*/
  2303. return R;
  2304. }
  2305.  
  2306.  
  2307. void r189afd_check(T189* C){
  2308. T0* _running=NULL;
  2309. T0* _rc=NULL;
  2310. /*[IF*/
  2311. /*AF*//*AE*/
  2312. /*FI]*/
  2313. X104afd_check((/*RF2*/(C)->_target/*4*/));
  2314. /*[IF*/
  2315. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2316. }
  2317. /*FI]*/
  2318. }
  2319.  
  2320.  
  2321. void r189c_declare_for_old(T189* C){
  2322. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  2323. /*[IF*/
  2324. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2325. }
  2326. /*FI]*/
  2327. }
  2328.  
  2329.  
  2330. void r189collect_c_tmp(T189* C){
  2331. /*[IF*/
  2332. /*AF*//*AE*/
  2333. /*FI]*/
  2334. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  2335. /*[IF*/
  2336. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  2337. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2338. }
  2339. /*FI]*/
  2340. }
  2341.  
  2342.  
  2343. T0* r189operator(void){
  2344. T0* R=NULL;
  2345. R=((T0*)ms15_216);
  2346. return R;
  2347. }
  2348.  
  2349.  
  2350. void r189cmp_bit(T189* C,T6 a1,T0* a2){
  2351. T0* _tb=NULL;
  2352. _tb=a2;
  2353. if(NULL!=(_tb)){
  2354. switch(((T0*)_tb)->id){
  2355. case 275:case 277:
  2356. break;
  2357. default:
  2358. _tb=NULL;
  2359. }
  2360. }/*[IF*/
  2361. if(X276is_c_unsigned_ptr(_tb)){
  2362. /*[IF*/
  2363. if(a1){
  2364. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2365. T3 b1=((T3)'\41');
  2366. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2367. }/*]*/
  2368. /*]*/
  2369. }
  2370. /*FI]*/
  2371. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms188_6776));
  2372. /*]*/
  2373. X104mapping_c_target((/*RF2*/(C)->_target/*4*/),a2);
  2374. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_375));
  2375. /*]*/
  2376. X104mapping_c_target(r189arg1(C),a2);
  2377. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms188_12670));
  2378. /*]*/
  2379. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X276id(_tb));
  2380. /*]*/
  2381. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms188_164));
  2382. /*]*/
  2383. }
  2384. else{
  2385. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2386. T3 b1=((T3)'\50');
  2387. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2388. }/*]*/
  2389. /*]*/
  2390. X104compile_to_c((/*RF2*/(C)->_target/*4*/));
  2391. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2392. T3 b1=((T3)'\51');
  2393. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2394. }/*]*/
  2395. /*]*/
  2396. /*[IF*/
  2397. if(a1){
  2398. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
  2399. /*]*/
  2400. }
  2401. else{
  2402. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
  2403. /*]*/
  2404. }
  2405. /*FI]*/
  2406. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2407. T3 b1=((T3)'\50');
  2408. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2409. }/*]*/
  2410. /*]*/
  2411. X104compile_to_c(r189arg1(C));
  2412. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2413. T3 b1=((T3)'\51');
  2414. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2415. }/*]*/
  2416. /*]*/
  2417. }
  2418. /*FI]*/
  2419. }
  2420.  
  2421.  
  2422. void r189cmp_basic_eiffel_expanded(T189* C,T6 a1,T0* a2,T0* a3){
  2423. T0* _cast=NULL;
  2424. /*[IF*/
  2425. if((X52is_double(a2))||(X52is_double(a3))){
  2426. _cast=((T0*)ms188_2988);
  2427. }
  2428.  else if((X52is_real(a2))||(X52is_real(a2))){
  2429. _cast=((T0*)ms188_2982);
  2430. }
  2431. /*FI]*/
  2432. /*[IF*/
  2433. if((_cast)!=((void*)(NULL))){
  2434. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_cast);
  2435. /*]*/
  2436. }
  2437. /*FI]*/
  2438. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2439. T3 b1=((T3)'\50');
  2440. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2441. }/*]*/
  2442. /*]*/
  2443. X104compile_to_c((/*RF2*/(C)->_target/*4*/));
  2444. /*[IF*/
  2445. if((_cast)!=((void*)(NULL))){
  2446. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
  2447. /*]*/
  2448. }
  2449. /*FI]*/
  2450. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2451. T3 b1=((T3)'\51');
  2452. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2453. }/*]*/
  2454. /*]*/
  2455. /*[IF*/
  2456. if(a1){
  2457. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
  2458. /*]*/
  2459. }
  2460. else{
  2461. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
  2462. /*]*/
  2463. }
  2464. /*FI]*/
  2465. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2466. T3 b1=((T3)'\50');
  2467. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2468. }/*]*/
  2469. /*]*/
  2470. /*[IF*/
  2471. if((_cast)!=((void*)(NULL))){
  2472. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_cast);
  2473. /*]*/
  2474. }
  2475. /*FI]*/
  2476. X104compile_to_c(r189arg1(C));
  2477. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2478. T3 b1=((T3)'\51');
  2479. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2480. }/*]*/
  2481. /*]*/
  2482. /*[IF*/
  2483. if((_cast)!=((void*)(NULL))){
  2484. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
  2485. /*]*/
  2486. }
  2487. /*FI]*/
  2488. }
  2489.  
  2490.  
  2491. T0* r189runnable_args(T0* a1,T0* a2){
  2492. T0* R=NULL;
  2493. R=X139to_runnable(a1,a2);
  2494. /*[IF*/
  2495. if((R)==((void*)(NULL))){
  2496. {T68 se_tmp0;
  2497. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  2498. }
  2499. r189fatal_error(((T0*)ms14_12870));
  2500. }
  2501. /*FI]*/
  2502. return R;
  2503. }
  2504.  
  2505.  
  2506. void r189bit_limitation(T189* C,T0* a1,T0* a2){
  2507. T0* _b2=NULL;
  2508. T0* _b1=NULL;
  2509. _b1=a1;
  2510. if(NULL!=(_b1)){
  2511. switch(((T0*)_b1)->id){
  2512. case 275:case 277:
  2513. break;
  2514. default:
  2515. _b1=NULL;
  2516. }
  2517. }_b2=a2;
  2518. if(NULL!=(_b2)){
  2519. switch(((T0*)_b2)->id){
  2520. case 275:case 277:
  2521. break;
  2522. default:
  2523. _b2=NULL;
  2524. }
  2525. }/*[IF*/
  2526. if((X276nb(_b1))!=(X276nb(_b2))){
  2527. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2528. /*[IRF3.6append*/{T0* b1=((T0*)ms188_20976);
  2529. r7append((T7*)(oBC66explanation),b1);
  2530. }/*]*/
  2531. r66add_type(_b1,((T0*)ms188_1855));
  2532. r66add_type(_b2,((T0*)ms188_382452));
  2533. r66print_as_fatal_error((T66*)(oBC13eh));
  2534. }
  2535. /*FI]*/
  2536. }
  2537.  
  2538.  
  2539. void r189error(T68 a1,T0* a2){
  2540. r66add_position(a1);
  2541. /*[IRF3.6append*/{T0* b1=a2;
  2542. r7append((T7*)(oBC66explanation),b1);
  2543. }/*]*/
  2544. r66print_as_error((T66*)(oBC13eh));
  2545. }
  2546.  
  2547.  
  2548. void r189dca_inline(T189* C,T0* a1){
  2549. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2550. T3 b1=((T3)'\50');
  2551. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2552. }/*]*/
  2553. /*]*/
  2554. r325put_target_as_value((T325*)(oBC13cpp));
  2555. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2556. T3 b1=((T3)'\51');
  2557. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2558. }/*]*/
  2559. /*]*/
  2560. /*[IF*/
  2561. if((/*(IRF4.6first*/((/*RF2*/((T7*)(r189operator()))->_storage/*0*/))[0]/*)*/)==(((T3)'\75'))){
  2562. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
  2563. /*]*/
  2564. }
  2565. else{
  2566. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
  2567. /*]*/
  2568. }
  2569. /*FI]*/
  2570. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2571. T3 b1=((T3)'\50');
  2572. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2573. }/*]*/
  2574. /*]*/
  2575. X104dca_inline_argument(r189arg1(C),a1);
  2576. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2577. T3 b1=((T3)'\51');
  2578. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2579. }/*]*/
  2580. /*]*/
  2581. }
  2582.  
  2583.  
  2584. void r189cmp_basic_ref(T189* C,T6 a1){
  2585. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2586. T3 b1=((T3)'\50');
  2587. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2588. }/*]*/
  2589. /*]*/
  2590. X104compile_to_c((/*RF2*/(C)->_target/*4*/));
  2591. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2592. T3 b1=((T3)'\51');
  2593. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2594. }/*]*/
  2595. /*]*/
  2596. /*[IF*/
  2597. if(a1){
  2598. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_244));
  2599. /*]*/
  2600. }
  2601. else{
  2602. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_188a));
  2603. /*]*/
  2604. }
  2605. /*FI]*/
  2606. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2607. T3 b1=((T3)'\50');
  2608. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2609. }/*]*/
  2610. /*]*/
  2611. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_5327));
  2612. /*]*/
  2613. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2614. T3 b1=((T3)'\50');
  2615. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2616. }/*]*/
  2617. /*]*/
  2618. X104compile_to_c(r189arg1(C));
  2619. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2620. T3 b1=((T3)'\51');
  2621. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2622. }/*]*/
  2623. /*]*/
  2624. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2625. T3 b1=((T3)'\51');
  2626. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2627. }/*]*/
  2628. /*]*/
  2629. }
  2630.  
  2631.  
  2632. T0* r189type_boolean(void){
  2633. if(fBC13type_boolean==0){fBC13type_boolean=1;{
  2634. T68 _unknown_position={NULL,0};
  2635. {T263*n=((T263*)malloc(sizeof(*n))/*8*/);
  2636. *n=M263;
  2637. oBC13type_boolean=((T0*)n);
  2638. r263make(n,_unknown_position);
  2639. }
  2640. }}
  2641. return oBC13type_boolean;
  2642. }
  2643.  
  2644.  
  2645. T6 r189call_proc_call_stupid_switch(T189* C,T0* a1){
  2646. T6 R=0;
  2647. /*[IF*/
  2648. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  2649. R=1;
  2650. }
  2651. else{
  2652. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  2653. }
  2654. /*FI]*/
  2655. /*[IF*/
  2656. if(R){
  2657. /*[IF*/
  2658. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2659. /*[IF*/
  2660. if(r49same_base_feature(/*(IRF4.1run_feature*/NULL/*)*/,a1)){
  2661. R=(X334stupid_switch(/*(IRF4.1run_feature*/NULL/*)*/,a1))!=((void*)(NULL));
  2662. }
  2663. else{
  2664. R=0;
  2665. }
  2666. /*FI]*/
  2667. }
  2668. else{
  2669. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  2670. }
  2671. /*FI]*/
  2672. }
  2673. /*FI]*/
  2674. return R;
  2675. }
  2676.  
  2677.  
  2678. void r189make(T189* C,T0* a1,T68 a2,T0* a3){
  2679. (/*SFN*/C->_target)=a1;
  2680. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  2681. *n=M129;
  2682. r129make(n,r189operator(),a2);
  2683. (/*SFN*/C->_feature_name)=((T0*)n);
  2684. }
  2685. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  2686. *n=M139;
  2687. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  2688. /*]*/
  2689. (/*SFN*/C->_arguments)=((T0*)n);
  2690. }
  2691. }
  2692.  
  2693.  
  2694. void r189error_comparison(T189* C,T0* a1,T0* a2){
  2695. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2696. /*[IRF3.6append*/{T0* b1=((T0*)ms188_9780);
  2697. r7append((T7*)(oBC66explanation),b1);
  2698. }/*]*/
  2699. /*[IRF3.6append*/{T0* b1=a1;
  2700. r7append((T7*)(oBC66explanation),b1);
  2701. }/*]*/
  2702. /*[IRF3.6append*/{T0* b1=((T0*)ms188_88031);
  2703. r7append((T7*)(oBC66explanation),b1);
  2704. }/*]*/
  2705. r66add_type(a2,((T0*)ms14_46));
  2706. r66print_as_fatal_error((T66*)(oBC13eh));
  2707. }
  2708.  
  2709.  
  2710. T0* r189runnable_expression(T0* a1,T0* a2){
  2711. T0* R=NULL;
  2712. R=X104to_runnable(a1,a2);
  2713. /*[IF*/
  2714. if((R)==((void*)(NULL))){
  2715. {T68 se_tmp0;
  2716. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  2717. }
  2718. r189fatal_error(((T0*)ms116_16290));
  2719. }
  2720. /*FI]*/
  2721. return R;
  2722. }
  2723.  
  2724.  
  2725. void r189check_comparison(T189* C,T0* a1){
  2726. T0* _at=NULL;
  2727. T0* _tt=NULL;
  2728. /*[IF*/
  2729. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2730. _tt=X52run_type(X104result_type((/*RF2*/(C)->_target/*4*/)));
  2731. _at=X52run_type(X104result_type(r189arg1(C)));
  2732. /*[IF*/
  2733. if(X52is_none(_tt)){
  2734. }
  2735.  else if(X52is_none(_at)){
  2736. }
  2737.  else if(X52is_reference(_tt)){
  2738. /*[IF*/
  2739. if(X52is_reference(_at)){
  2740. }
  2741.  else if(!(X52is_a(_at,_tt))){
  2742. r189error_comparison(C,((T0*)ms188_41400),a1);
  2743. }
  2744. /*FI]*/
  2745. }
  2746. else{
  2747. /*[IF*/
  2748. if(X52is_expanded(_at)){
  2749. /*[IF*/
  2750. if(X52is_basic_eiffel_expanded(_at)){
  2751. /*[IF*/
  2752. if(X52is_a(_tt,_at)){
  2753. }
  2754. else{
  2755. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  2756. /*]*/
  2757. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  2758. /*]*/
  2759. /*]*/
  2760. /*[IF*/
  2761. if(X52is_a(_at,_tt)){
  2762. }
  2763. else{
  2764. r189error_comparison(C,((T0*)ms188_37536),a1);
  2765. }
  2766. /*FI]*/
  2767. }
  2768. /*FI]*/
  2769. }
  2770.  else if(X52is_bit(_tt)){
  2771. r189bit_limitation(C,_tt,_at);
  2772. }
  2773.  else if(!(X52is_a(_at,_tt))){
  2774. r189error_comparison(C,((T0*)ms188_37536a),a1);
  2775. }
  2776. /*FI]*/
  2777. }
  2778.  else if(!(X52is_a(_tt,_at))){
  2779. r189error_comparison(C,((T0*)ms188_41868),a1);
  2780. }
  2781. /*FI]*/
  2782. }
  2783. /*FI]*/
  2784. }
  2785. /*FI]*/
  2786. }
  2787.  
  2788.  
  2789. T0* r189add_comment(T189* C,T0* a1){
  2790. T0* R=NULL;
  2791. /*[IF*/
  2792. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2793. R=((T0*)(C));
  2794. }
  2795. else{
  2796. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2797. *n=M229;
  2798. r229make(n,(T0*)C,a1);
  2799. R=((T0*)n);
  2800. }
  2801. }
  2802. /*FI]*/
  2803. return R;
  2804. }
  2805.  
  2806.  
  2807. void r189mapping_c_target(T189* C,T0* a1){
  2808. T0* _actual_type=NULL;
  2809. T6 _flag=0;
  2810. _flag=r325call_invariant_start(a1);
  2811. _actual_type=X52run_type(/*(IRF4.8result_type*/r189type_boolean()/*)*/);
  2812. /*[IF*/
  2813. if(X52is_reference(_actual_type)){
  2814. /*[IF*/
  2815. if(X52is_reference(a1)){
  2816. X52mapping_cast(a1);
  2817. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2818. T3 b1=((T3)'\50');
  2819. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2820. }/*]*/
  2821. /*]*/
  2822. r189compile_to_c(C);
  2823. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2824. T3 b1=((T3)'\51');
  2825. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2826. }/*]*/
  2827. /*]*/
  2828. }
  2829. else{
  2830. r189compile_to_c(C);
  2831. }
  2832. /*FI]*/
  2833. }
  2834. else{
  2835. /*[IF*/
  2836. if(X52is_reference(a1)){
  2837. r189compile_to_c(C);
  2838. }
  2839. else{
  2840. /*[IF*/
  2841. if(X52need_c_struct(a1)){
  2842. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2843. T3 b1=((T3)'\46');
  2844. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2845. }/*]*/
  2846. /*]*/
  2847. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2848. T3 b1=((T3)'\50');
  2849. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2850. }/*]*/
  2851. /*]*/
  2852. r189compile_to_c(C);
  2853. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2854. T3 b1=((T3)'\51');
  2855. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2856. }/*]*/
  2857. /*]*/
  2858. }
  2859. else{
  2860. r189compile_to_c(C);
  2861. }
  2862. /*FI]*/
  2863. }
  2864. /*FI]*/
  2865. }
  2866. /*FI]*/
  2867. /*[IF*/
  2868. if(_flag){
  2869. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  2870. T3 b1=((T3)'\51');
  2871. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2872. }/*]*/
  2873. /*]*/
  2874. }
  2875. /*FI]*/
  2876. }
  2877.  
  2878.  
  2879. void r189with(T189* C,T0* a1,T0* a2,T0* a3){
  2880. (/*SFN*/C->_target)=a1;
  2881. (/*SFN*/C->_feature_name)=a2;
  2882. (/*SFN*/C->_arguments)=a3;
  2883. }
  2884.  
  2885.  
  2886. T6 r189use_current(T189* C){
  2887. T6 R=0;
  2888. R=(X104use_current((/*RF2*/(C)->_target/*4*/)))||(X104use_current(r189arg1(C)));
  2889. return R;
  2890. }
  2891.  
  2892.  
  2893. T0* r189to_runnable(T189* C,T0* a1){
  2894. T0* R=NULL;
  2895. T0* _a=NULL;
  2896. T0* _t=NULL;
  2897. _t=r189runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  2898. _a=r189runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  2899. /*[IF*/
  2900. if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  2901. R=((T0*)(C));
  2902. }
  2903. else{
  2904. {T189*n=((T189*)malloc(sizeof(*n))/*16*/);
  2905. *n=M189;
  2906. r189with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a);
  2907. R=((T0*)n);
  2908. }
  2909. }
  2910. /*FI]*/
  2911. r189check_comparison(((T189*)R),a1);
  2912. return R;
  2913. }
  2914.  
  2915.  
  2916. T2 r189to_integer(T189* C){
  2917. T2 R=0;
  2918. r189error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  2919. return R;
  2920. }
  2921.  
  2922.  
  2923. T6 r189is_static(T189* C){
  2924. T6 R=0;
  2925. /*[IF*/
  2926. if(X104is_void((/*RF2*/(C)->_target/*4*/))){
  2927. R=r189is_static_neq_void(r189arg1(C));
  2928. }
  2929.  else if(X104is_void(r189arg1(C))){
  2930. R=r189is_static_neq_void((/*RF2*/(C)->_target/*4*/));
  2931. }
  2932.  else if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r189arg1(C)))){
  2933. R=1;
  2934. }
  2935. /*FI]*/
  2936. return R;
  2937. }
  2938.  
  2939.  
  2940. T0* r189arg1(T189* C){
  2941. T0* R=NULL;
  2942. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  2943. return R;
  2944. }
  2945.  
  2946.  
  2947. void r189cmp_user_expanded(T189* C,T6 a1,T0* a2){
  2948. T2 _mem_id=0;
  2949. /*[IF*/
  2950. if(X52is_dummy_expanded(a2)){
  2951. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2952. T3 b1=((T3)'\50');
  2953. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2954. }/*]*/
  2955. /*]*/
  2956. X104compile_to_c((/*RF2*/(C)->_target/*4*/));
  2957. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2958. T3 b1=((T3)'\54');
  2959. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2960. }/*]*/
  2961. /*]*/
  2962. X104compile_to_c(r189arg1(C));
  2963. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2964. T3 b1=((T3)'\54');
  2965. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2966. }/*]*/
  2967. /*]*/
  2968. /*[IF*/
  2969. if(a1){
  2970. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2971. T3 b1=((T3)'1');
  2972. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2973. }/*]*/
  2974. /*]*/
  2975. }
  2976. else{
  2977. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2978. T3 b1=((T3)'0');
  2979. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2980. }/*]*/
  2981. /*]*/
  2982. }
  2983. /*FI]*/
  2984. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2985. T3 b1=((T3)'\51');
  2986. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2987. }/*]*/
  2988. /*]*/
  2989. }
  2990. else{
  2991. _mem_id=X52id(a2);
  2992. /*[IF*/
  2993. if(a1){
  2994. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2995. T3 b1=((T3)'\41');
  2996. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2997. }/*]*/
  2998. /*]*/
  2999. }
  3000. /*FI]*/
  3001. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_7749));
  3002. /*]*/
  3003. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_mem_id);
  3004. /*]*/
  3005. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
  3006. /*]*/
  3007. X104compile_to_c((/*RF2*/(C)->_target/*4*/));
  3008. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_375));
  3009. /*]*/
  3010. X104compile_to_c(r189arg1(C));
  3011. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_164));
  3012. /*]*/
  3013. }
  3014. /*FI]*/
  3015. }
  3016.  
  3017.  
  3018. T0* r189static_result_base_class(void){
  3019. T0* R=NULL;
  3020. R=r49get_class(((T0*)ms15_6405));
  3021. return R;
  3022. }
  3023.  
  3024.  
  3025. void r189fatal_error(T0* a1){
  3026. /*[IRF3.6append*/{T0* b1=a1;
  3027. r7append((T7*)(oBC66explanation),b1);
  3028. }/*]*/
  3029. r66print_as_fatal_error((T66*)(oBC13eh));
  3030. }
  3031.  
  3032.  
  3033. void r189c2c_exp_ref(T0* a1,T0* a2,T0* a3,T0* a4){
  3034. /*[IF*/
  3035. if(X104is_void(a3)){
  3036. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
  3037. /*]*/
  3038. X104compile_to_c(a3);
  3039. }
  3040. else{
  3041. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_160a));
  3042. /*]*/
  3043. X104compile_to_c(a1);
  3044. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_375));
  3045. /*]*/
  3046. X104compile_to_c(a3);
  3047. }
  3048. /*FI]*/
  3049. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms189_700));
  3050. /*]*/
  3051. }
  3052.  
  3053.  
  3054. void r189assertion_check(T189* C,T3 a1){
  3055. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  3056. X104assertion_check(r189arg1(C),a1);
  3057. }
  3058.  
  3059.  
  3060. void r189compile_to_c(T189* C){
  3061. T0* _at=NULL;
  3062. T0* _tt=NULL;
  3063. _tt=X52run_type(X104result_type((/*RF2*/(C)->_target/*4*/)));
  3064. _at=X52run_type(X104result_type(r189arg1(C)));
  3065. /*[IF*/
  3066. if(X52is_expanded(_tt)){
  3067. /*[IF*/
  3068. if(X52is_expanded(_at)){
  3069. /*[IF*/
  3070. if(X52is_user_expanded(_tt)){
  3071. r189cmp_user_expanded(C,0,_tt);
  3072. }
  3073.  else if(X52is_basic_eiffel_expanded(_tt)){
  3074. r189cmp_basic_eiffel_expanded(C,0,_at,_tt);
  3075. }
  3076.  else if(X52is_bit(_tt)){
  3077. r189cmp_bit(C,0,_tt);
  3078. }
  3079. else{
  3080. r189cmp_basic_ref(C,0);
  3081. }
  3082. /*FI]*/
  3083. }
  3084. else{
  3085. r189c2c_exp_ref((/*RF2*/(C)->_target/*4*/),_tt,r189arg1(C),_at);
  3086. }
  3087. /*FI]*/
  3088. }
  3089.  else if(X52is_expanded(_at)){
  3090. r189c2c_exp_ref(r189arg1(C),_at,(/*RF2*/(C)->_target/*4*/),_tt);
  3091. }
  3092. else{
  3093. r189cmp_basic_ref(C,0);
  3094. }
  3095. /*FI]*/
  3096. }
  3097.  
  3098.  
  3099. T6 r189stupid_switch(T189* C,T0* a1){
  3100. T6 R=0;
  3101. R=r189call_proc_call_stupid_switch(C,a1);
  3102. /*[IF*/
  3103. if(R){
  3104. R=!(X52is_native_array(/*(IRF4.8result_type*/r189type_boolean()/*)*/));
  3105. }
  3106. /*FI]*/
  3107. return R;
  3108. }
  3109.  
  3110.  
  3111. T6 r189is_static_neq_void(T0* a1){
  3112. T6 R=0;
  3113. T0* _rt=NULL;
  3114. /*[IF*/
  3115. if(((X104is_current(a1))||(X104is_manifest_string(a1)))||(X104is_manifest_array(a1))){
  3116. R=1;
  3117. }
  3118. else{
  3119. _rt=X52run_type(X104result_type(a1));
  3120. /*[IF*/
  3121. if(X52is_expanded(_rt)){
  3122. R=1;
  3123. }
  3124.  else if(X104is_static(a1)){
  3125. R=1;
  3126. }
  3127. /*FI]*/
  3128. }
  3129. /*FI]*/
  3130. return R;
  3131. }
  3132.  
  3133.  
  3134. void r390gc_free_in(T390* C,T0* a1){
  3135. r7append(((T7*)a1),((T0*)ms52_8540));
  3136. r2append_in(r390id(C),a1);
  3137. }
  3138.  
  3139.  
  3140. void r390from_type_bit(T390* C,T68 a1,T0* a2){
  3141. (/*SFN*/C->_start_position)=a1;
  3142. (/*SFN*/C->_type_bit)=a2;
  3143. (/*SFN*/C->_run_time_mark)=((T0*)ms390_11630);
  3144. r7copy((T7*)((/*RF2*/(C)->_run_time_mark/*16*/)),X276run_time_mark((/*RF2*/(C)->_type_bit/*12*/)));
  3145. r7append((T7*)((/*RF2*/(C)->_run_time_mark/*16*/)),((T0*)ms390_1264));
  3146. (/*SFN*/C->_run_time_mark)=((/*UT*/(void)((T21*)(r390string_aliaser()))),r21item((/*RF2*/(C)->_run_time_mark/*16*/)));
  3147. }
  3148.  
  3149.  
  3150. T0* r390generic_list(T390* C){
  3151. T0* R=NULL;
  3152. r390fatal_error_generic_list(C);
  3153. return R;
  3154. }
  3155.  
  3156.  
  3157. void r390standard_gc_info_in(T390* C,T0* a1){
  3158. r7append(((T7*)a1),((T0*)ms52_22591a));
  3159. r7append(((T7*)a1),(/*RF2*/(C)->_run_time_mark/*16*/));
  3160. r7append(((T7*)a1),((T0*)ms14_5895));
  3161. r390gc_info_nb_in(C,a1);
  3162. r7append(((T7*)a1),((T0*)ms14_330));
  3163. r7append(((T7*)a1),((T0*)ms52_22591));
  3164. r390gc_store_left_in(C,a1);
  3165. r7append(((T7*)a1),((T0*)ms14_5895));
  3166. r390gc_store_left_in(C,a1);
  3167. r7append(((T7*)a1),((T0*)ms14_330));
  3168. }
  3169.  
  3170.  
  3171. void r390standard_c_print_function(T390* C){
  3172. /*[IF*/
  3173. if(r47no_check((T47*)(oBC13run_control))){
  3174. r50c_print_function((T50*)(r390run_class(C)));
  3175. }
  3176. /*FI]*/
  3177. }
  3178.  
  3179.  
  3180. T2 r390id(T390* C){
  3181. T2 R=0;
  3182. R=(/*RF2*/((T50*)(r390run_class(C)))->_id/*4*/);
  3183. return R;
  3184. }
  3185.  
  3186.  
  3187. void r390cast_to_ref(T390* C){
  3188. r390cast_to_ref((T390*)(/*(IRF4.4run_type*/((T0*)(C))/*)*/));
  3189. }
  3190.  
  3191.  
  3192. void r390gc_call_new_in(T390* C,T0* a1){
  3193. r7append(((T7*)a1),((T0*)ms14_990));
  3194. r2append_in(r390id(C),a1);
  3195. r7extend(((T7*)a1),((T3)'\50'));
  3196. r7extend(((T7*)a1),((T3)'\51'));
  3197. }
  3198.  
  3199.  
  3200. T0* r390base_class(T390* C){
  3201. T0* R=NULL;
  3202. T0* _bcn=NULL;
  3203. _bcn=r390base_class_name();
  3204. /*[IF*/
  3205. if((_bcn)!=((void*)(NULL))){
  3206. R=r61base_class(((T61*)_bcn));
  3207. }
  3208. else{
  3209. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  3210. r7append((T7*)(oBC66explanation),b1);
  3211. }/*]*/
  3212. r66add_type((T0*)C,((T0*)ms14_46));
  3213. r66print_as_fatal_error((T66*)(oBC13eh));
  3214. }
  3215. /*FI]*/
  3216. return R;
  3217. }
  3218.  
  3219.  
  3220. T0* r390look_up_for(T390* C,T0* a1,T0* a2){
  3221. T0* R=NULL;
  3222. R=r51look_up_for((T51*)(r390base_class(C)),a1,a2);
  3223. return R;
  3224. }
  3225.  
  3226.  
  3227. void r390gc_store_chunk_in(T390* C,T0* a1){
  3228. r7append(((T7*)a1),((T0*)ms52_19074));
  3229. r2append_in(r390id(C),a1);
  3230. }
  3231.  
  3232.  
  3233. void r390mapping_cast(T390* C){
  3234. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  3235. /*]*/
  3236. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  3237. r390c_type_for_target_in(C,((T0*)ms52_15456));
  3238. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  3239. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  3240. /*]*/
  3241. }
  3242.  
  3243.  
  3244. void r390gc_align_mark_in(T390* C,T0* a1){
  3245. r7append(((T7*)a1),((T0*)ms52_24609));
  3246. r2append_in(r390id(C),a1);
  3247. }
  3248.  
  3249.  
  3250. T6 r390is_a_in(T390* C,T0* a1,T0* a2){
  3251. T6 R=0;
  3252. T0* _ct=NULL;
  3253. T0* _t2=NULL;
  3254. T0* _t1=NULL;
  3255. /*[IF*/
  3256. if((/*(IRF4.3written_mark*/(/*RF2*/(C)->_run_time_mark/*16*/)/*)*/)==((void*)(X52written_mark(a1)))){
  3257. R=1;
  3258. }
  3259. else{
  3260. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  3261. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  3262. _t2=X52to_runnable(a1,_ct);
  3263. /*[IF*/
  3264. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  3265. R=1;
  3266. }
  3267. else{
  3268. R=X52is_a(_t1,_t2);
  3269. }
  3270. /*FI]*/
  3271. }
  3272. /*FI]*/
  3273. return R;
  3274. }
  3275.  
  3276.  
  3277. void r390standard_c_typedef(T390* C){
  3278. T2 _mem_id=0;
  3279. _mem_id=r390id(C);
  3280. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  3281. /*]*/
  3282. /*[IF*/
  3283. {/*AT*/r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
  3284. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  3285. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  3286. r2append_in(_mem_id,((T0*)ms52_783104));
  3287. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  3288. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  3289. r2append_in(_mem_id,((T0*)ms52_783104));
  3290. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  3291. }
  3292. /*FI]*/
  3293. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  3294. /*]*/
  3295. }
  3296.  
  3297.  
  3298. T6 r390is_native_array(T390* C){
  3299. T6 R=0;
  3300. T0* _tna=NULL;
  3301. _tna=NULL;
  3302. R=(_tna)!=((void*)(NULL));
  3303. return R;
  3304. }
  3305.  
  3306.  
  3307. T6 r390is_a(T390* C,T0* a1){
  3308. T6 R=0;
  3309. /*[IF*/
  3310. if(((/*RF2*/(C)->_run_time_mark/*16*/))==((void*)(X52run_time_mark(a1)))){
  3311. R=1;
  3312. }
  3313. else{
  3314. R=r51is_subclass_of((T51*)(r390base_class(C)),X52base_class(a1));
  3315. /*[IF*/
  3316. if(!(R)){
  3317. r66add_type((T0*)C,((T0*)ms14_17460));
  3318. r66add_type(a1,((T0*)ms14_46));
  3319. }
  3320. /*FI]*/
  3321. }
  3322. /*FI]*/
  3323. return R;
  3324. }
  3325.  
  3326.  
  3327. T2 r390c_sizeof_pointer(void){
  3328. T2 R=0;
  3329. T8 _p=NULL;
  3330. R=sizeof(T8);
  3331. return R;
  3332. }
  3333.  
  3334.  
  3335. void r390gc_store_left_in(T390* C,T0* a1){
  3336. r7append(((T7*)a1),((T0*)ms52_17170));
  3337. r2append_in(r390id(C),a1);
  3338. }
  3339.  
  3340.  
  3341. void r390fatal_error_generic_list(T390* C){
  3342. r66add_type((T0*)C,((T0*)ms52_28899));
  3343. r66print_as_fatal_error((T66*)(oBC13eh));
  3344. }
  3345.  
  3346.  
  3347. T0* r390type_any(void){
  3348. if(fBC13type_any==0){fBC13type_any=1;{
  3349. T68 _unknown_position={NULL,0};
  3350. {T259*n=((T259*)malloc(sizeof(*n))/*8*/);
  3351. *n=M259;
  3352. oBC13type_any=((T0*)n);
  3353. r259make(n,_unknown_position);
  3354. }
  3355. }}
  3356. return oBC13type_any;
  3357. }
  3358.  
  3359.  
  3360. T0* r390smallest_ancestor(T390* C,T0* a1){
  3361. T0* R=NULL;
  3362. /*[IF*/
  3363. if(((/*RF2*/(C)->_run_time_mark/*16*/))==((void*)(X52run_time_mark(a1)))){
  3364. R=((T0*)(C));
  3365. }
  3366. else{
  3367. R=r390type_any();
  3368. }
  3369. /*FI]*/
  3370. return R;
  3371. }
  3372.  
  3373.  
  3374. void r390c_header_pass2(T390* C){
  3375. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
  3376. r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
  3377. r2append_in(r390id(C),((T0*)ms52_783104));
  3378. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms390_11178));
  3379. r2append_in(X276id((/*RF2*/(C)->_type_bit/*12*/)),((T0*)ms52_783104));
  3380. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms390_5490));
  3381. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  3382. /*]*/
  3383. }
  3384.  
  3385.  
  3386. T0* r390string_aliaser(void){
  3387. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  3388. {T21*n=((T21*)malloc(1));
  3389. oBC13string_aliaser=((T0*)n);
  3390. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  3391. r23put((T23*)(oBC21memory),b1,b1);
  3392. }/*]*/
  3393. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  3394. r23put((T23*)(oBC21memory),b1,b1);
  3395. }/*]*/
  3396. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  3397. r23put((T23*)(oBC21memory),b1,b1);
  3398. }/*]*/
  3399. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  3400. r23put((T23*)(oBC21memory),b1,b1);
  3401. }/*]*/
  3402. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  3403. r23put((T23*)(oBC21memory),b1,b1);
  3404. }/*]*/
  3405. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  3406. r23put((T23*)(oBC21memory),b1,b1);
  3407. }/*]*/
  3408. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  3409. r23put((T23*)(oBC21memory),b1,b1);
  3410. }/*]*/
  3411. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  3412. r23put((T23*)(oBC21memory),b1,b1);
  3413. }/*]*/
  3414. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  3415. r23put((T23*)(oBC21memory),b1,b1);
  3416. }/*]*/
  3417. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  3418. r23put((T23*)(oBC21memory),b1,b1);
  3419. }/*]*/
  3420. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  3421. r23put((T23*)(oBC21memory),b1,b1);
  3422. }/*]*/
  3423. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  3424. r23put((T23*)(oBC21memory),b1,b1);
  3425. }/*]*/
  3426. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  3427. r23put((T23*)(oBC21memory),b1,b1);
  3428. }/*]*/
  3429. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  3430. r23put((T23*)(oBC21memory),b1,b1);
  3431. }/*]*/
  3432. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  3433. r23put((T23*)(oBC21memory),b1,b1);
  3434. }/*]*/
  3435. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  3436. r23put((T23*)(oBC21memory),b1,b1);
  3437. }/*]*/
  3438. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  3439. r23put((T23*)(oBC21memory),b1,b1);
  3440. }/*]*/
  3441. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  3442. r23put((T23*)(oBC21memory),b1,b1);
  3443. }/*]*/
  3444. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  3445. r23put((T23*)(oBC21memory),b1,b1);
  3446. }/*]*/
  3447. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  3448. r23put((T23*)(oBC21memory),b1,b1);
  3449. }/*]*/
  3450. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  3451. r23put((T23*)(oBC21memory),b1,b1);
  3452. }/*]*/
  3453. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  3454. r23put((T23*)(oBC21memory),b1,b1);
  3455. }/*]*/
  3456. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  3457. r23put((T23*)(oBC21memory),b1,b1);
  3458. }/*]*/
  3459. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  3460. r23put((T23*)(oBC21memory),b1,b1);
  3461. }/*]*/
  3462. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  3463. r23put((T23*)(oBC21memory),b1,b1);
  3464. }/*]*/
  3465. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  3466. r23put((T23*)(oBC21memory),b1,b1);
  3467. }/*]*/
  3468. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  3469. r23put((T23*)(oBC21memory),b1,b1);
  3470. }/*]*/
  3471. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  3472. r23put((T23*)(oBC21memory),b1,b1);
  3473. }/*]*/
  3474. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  3475. r23put((T23*)(oBC21memory),b1,b1);
  3476. }/*]*/
  3477. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  3478. r23put((T23*)(oBC21memory),b1,b1);
  3479. }/*]*/
  3480. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  3481. r23put((T23*)(oBC21memory),b1,b1);
  3482. }/*]*/
  3483. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  3484. r23put((T23*)(oBC21memory),b1,b1);
  3485. }/*]*/
  3486. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  3487. r23put((T23*)(oBC21memory),b1,b1);
  3488. }/*]*/
  3489. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  3490. r23put((T23*)(oBC21memory),b1,b1);
  3491. }/*]*/
  3492. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  3493. r23put((T23*)(oBC21memory),b1,b1);
  3494. }/*]*/
  3495. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  3496. r23put((T23*)(oBC21memory),b1,b1);
  3497. }/*]*/
  3498. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  3499. r23put((T23*)(oBC21memory),b1,b1);
  3500. }/*]*/
  3501. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  3502. r23put((T23*)(oBC21memory),b1,b1);
  3503. }/*]*/
  3504. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  3505. r23put((T23*)(oBC21memory),b1,b1);
  3506. }/*]*/
  3507. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  3508. r23put((T23*)(oBC21memory),b1,b1);
  3509. }/*]*/
  3510. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  3511. r23put((T23*)(oBC21memory),b1,b1);
  3512. }/*]*/
  3513. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  3514. r23put((T23*)(oBC21memory),b1,b1);
  3515. }/*]*/
  3516. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  3517. r23put((T23*)(oBC21memory),b1,b1);
  3518. }/*]*/
  3519. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  3520. r23put((T23*)(oBC21memory),b1,b1);
  3521. }/*]*/
  3522. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  3523. r23put((T23*)(oBC21memory),b1,b1);
  3524. }/*]*/
  3525. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  3526. r23put((T23*)(oBC21memory),b1,b1);
  3527. }/*]*/
  3528. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  3529. r23put((T23*)(oBC21memory),b1,b1);
  3530. }/*]*/
  3531. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  3532. r23put((T23*)(oBC21memory),b1,b1);
  3533. }/*]*/
  3534. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  3535. r23put((T23*)(oBC21memory),b1,b1);
  3536. }/*]*/
  3537. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  3538. r23put((T23*)(oBC21memory),b1,b1);
  3539. }/*]*/
  3540. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  3541. r23put((T23*)(oBC21memory),b1,b1);
  3542. }/*]*/
  3543. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  3544. r23put((T23*)(oBC21memory),b1,b1);
  3545. }/*]*/
  3546. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  3547. r23put((T23*)(oBC21memory),b1,b1);
  3548. }/*]*/
  3549. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  3550. r23put((T23*)(oBC21memory),b1,b1);
  3551. }/*]*/
  3552. r21add2(((T0*)ms15_22524));
  3553. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  3554. r23put((T23*)(oBC21memory),b1,b1);
  3555. }/*]*/
  3556. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  3557. r23put((T23*)(oBC21memory),b1,b1);
  3558. }/*]*/
  3559. r21add2(((T0*)ms15_29246));
  3560. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  3561. r23put((T23*)(oBC21memory),b1,b1);
  3562. }/*]*/
  3563. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  3564. r23put((T23*)(oBC21memory),b1,b1);
  3565. }/*]*/
  3566. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  3567. r23put((T23*)(oBC21memory),b1,b1);
  3568. }/*]*/
  3569. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  3570. r23put((T23*)(oBC21memory),b1,b1);
  3571. }/*]*/
  3572. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  3573. r23put((T23*)(oBC21memory),b1,b1);
  3574. }/*]*/
  3575. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  3576. r23put((T23*)(oBC21memory),b1,b1);
  3577. }/*]*/
  3578. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  3579. r23put((T23*)(oBC21memory),b1,b1);
  3580. }/*]*/
  3581. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  3582. r23put((T23*)(oBC21memory),b1,b1);
  3583. }/*]*/
  3584. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  3585. r23put((T23*)(oBC21memory),b1,b1);
  3586. }/*]*/
  3587. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  3588. r23put((T23*)(oBC21memory),b1,b1);
  3589. }/*]*/
  3590. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  3591. r23put((T23*)(oBC21memory),b1,b1);
  3592. }/*]*/
  3593. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  3594. r23put((T23*)(oBC21memory),b1,b1);
  3595. }/*]*/
  3596. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  3597. r23put((T23*)(oBC21memory),b1,b1);
  3598. }/*]*/
  3599. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  3600. r23put((T23*)(oBC21memory),b1,b1);
  3601. }/*]*/
  3602. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  3603. r23put((T23*)(oBC21memory),b1,b1);
  3604. }/*]*/
  3605. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  3606. r23put((T23*)(oBC21memory),b1,b1);
  3607. }/*]*/
  3608. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  3609. r23put((T23*)(oBC21memory),b1,b1);
  3610. }/*]*/
  3611. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  3612. r23put((T23*)(oBC21memory),b1,b1);
  3613. }/*]*/
  3614. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  3615. r23put((T23*)(oBC21memory),b1,b1);
  3616. }/*]*/
  3617. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  3618. r23put((T23*)(oBC21memory),b1,b1);
  3619. }/*]*/
  3620. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  3621. r23put((T23*)(oBC21memory),b1,b1);
  3622. }/*]*/
  3623. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  3624. r23put((T23*)(oBC21memory),b1,b1);
  3625. }/*]*/
  3626. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  3627. r23put((T23*)(oBC21memory),b1,b1);
  3628. }/*]*/
  3629. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  3630. r23put((T23*)(oBC21memory),b1,b1);
  3631. }/*]*/
  3632. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  3633. r23put((T23*)(oBC21memory),b1,b1);
  3634. }/*]*/
  3635. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  3636. r23put((T23*)(oBC21memory),b1,b1);
  3637. }/*]*/
  3638. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  3639. r23put((T23*)(oBC21memory),b1,b1);
  3640. }/*]*/
  3641. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  3642. r23put((T23*)(oBC21memory),b1,b1);
  3643. }/*]*/
  3644. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  3645. r23put((T23*)(oBC21memory),b1,b1);
  3646. }/*]*/
  3647. r21add2(((T0*)ms15_22596));
  3648. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  3649. r23put((T23*)(oBC21memory),b1,b1);
  3650. }/*]*/
  3651. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  3652. r23put((T23*)(oBC21memory),b1,b1);
  3653. }/*]*/
  3654. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  3655. r23put((T23*)(oBC21memory),b1,b1);
  3656. }/*]*/
  3657. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  3658. r23put((T23*)(oBC21memory),b1,b1);
  3659. }/*]*/
  3660. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  3661. r23put((T23*)(oBC21memory),b1,b1);
  3662. }/*]*/
  3663. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  3664. r23put((T23*)(oBC21memory),b1,b1);
  3665. }/*]*/
  3666. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  3667. r23put((T23*)(oBC21memory),b1,b1);
  3668. }/*]*/
  3669. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  3670. r23put((T23*)(oBC21memory),b1,b1);
  3671. }/*]*/
  3672. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  3673. r23put((T23*)(oBC21memory),b1,b1);
  3674. }/*]*/
  3675. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  3676. r23put((T23*)(oBC21memory),b1,b1);
  3677. }/*]*/
  3678. r21add2(((T0*)ms15_60016));
  3679. r21add2(((T0*)ms15_26880));
  3680. r21add2(((T0*)ms15_33240));
  3681. r21add2(((T0*)ms15_21624));
  3682. r21add2(((T0*)ms15_60060));
  3683. r21add2(((T0*)ms15_26908));
  3684. r21add2(((T0*)ms15_33270));
  3685. r21add2(((T0*)ms15_21648));
  3686. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  3687. r23put((T23*)(oBC21memory),b1,b1);
  3688. }/*]*/
  3689. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  3690. r23put((T23*)(oBC21memory),b1,b1);
  3691. }/*]*/
  3692. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  3693. r23put((T23*)(oBC21memory),b1,b1);
  3694. }/*]*/
  3695. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  3696. r23put((T23*)(oBC21memory),b1,b1);
  3697. }/*]*/
  3698. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  3699. r23put((T23*)(oBC21memory),b1,b1);
  3700. }/*]*/
  3701. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  3702. r23put((T23*)(oBC21memory),b1,b1);
  3703. }/*]*/
  3704. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  3705. r23put((T23*)(oBC21memory),b1,b1);
  3706. }/*]*/
  3707. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  3708. r23put((T23*)(oBC21memory),b1,b1);
  3709. }/*]*/
  3710. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  3711. r23put((T23*)(oBC21memory),b1,b1);
  3712. }/*]*/
  3713. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  3714. r23put((T23*)(oBC21memory),b1,b1);
  3715. }/*]*/
  3716. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  3717. r23put((T23*)(oBC21memory),b1,b1);
  3718. }/*]*/
  3719. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  3720. r23put((T23*)(oBC21memory),b1,b1);
  3721. }/*]*/
  3722. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  3723. r23put((T23*)(oBC21memory),b1,b1);
  3724. }/*]*/
  3725. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  3726. r23put((T23*)(oBC21memory),b1,b1);
  3727. }/*]*/
  3728. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  3729. r23put((T23*)(oBC21memory),b1,b1);
  3730. }/*]*/
  3731. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  3732. r23put((T23*)(oBC21memory),b1,b1);
  3733. }/*]*/
  3734. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  3735. r23put((T23*)(oBC21memory),b1,b1);
  3736. }/*]*/
  3737. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  3738. r23put((T23*)(oBC21memory),b1,b1);
  3739. }/*]*/
  3740. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  3741. r23put((T23*)(oBC21memory),b1,b1);
  3742. }/*]*/
  3743. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  3744. r23put((T23*)(oBC21memory),b1,b1);
  3745. }/*]*/
  3746. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  3747. r23put((T23*)(oBC21memory),b1,b1);
  3748. }/*]*/
  3749. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  3750. r23put((T23*)(oBC21memory),b1,b1);
  3751. }/*]*/
  3752. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  3753. r23put((T23*)(oBC21memory),b1,b1);
  3754. }/*]*/
  3755. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  3756. r23put((T23*)(oBC21memory),b1,b1);
  3757. }/*]*/
  3758. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  3759. r23put((T23*)(oBC21memory),b1,b1);
  3760. }/*]*/
  3761. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  3762. r23put((T23*)(oBC21memory),b1,b1);
  3763. }/*]*/
  3764. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  3765. r23put((T23*)(oBC21memory),b1,b1);
  3766. }/*]*/
  3767. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  3768. r23put((T23*)(oBC21memory),b1,b1);
  3769. }/*]*/
  3770. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  3771. r23put((T23*)(oBC21memory),b1,b1);
  3772. }/*]*/
  3773. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  3774. r23put((T23*)(oBC21memory),b1,b1);
  3775. }/*]*/
  3776. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  3777. r23put((T23*)(oBC21memory),b1,b1);
  3778. }/*]*/
  3779. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  3780. r23put((T23*)(oBC21memory),b1,b1);
  3781. }/*]*/
  3782. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  3783. r23put((T23*)(oBC21memory),b1,b1);
  3784. }/*]*/
  3785. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  3786. r23put((T23*)(oBC21memory),b1,b1);
  3787. }/*]*/
  3788. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  3789. r23put((T23*)(oBC21memory),b1,b1);
  3790. }/*]*/
  3791. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  3792. r23put((T23*)(oBC21memory),b1,b1);
  3793. }/*]*/
  3794. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  3795. r23put((T23*)(oBC21memory),b1,b1);
  3796. }/*]*/
  3797. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  3798. r23put((T23*)(oBC21memory),b1,b1);
  3799. }/*]*/
  3800. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  3801. r23put((T23*)(oBC21memory),b1,b1);
  3802. }/*]*/
  3803. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  3804. r23put((T23*)(oBC21memory),b1,b1);
  3805. }/*]*/
  3806. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  3807. r23put((T23*)(oBC21memory),b1,b1);
  3808. }/*]*/
  3809. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  3810. r23put((T23*)(oBC21memory),b1,b1);
  3811. }/*]*/
  3812. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  3813. r23put((T23*)(oBC21memory),b1,b1);
  3814. }/*]*/
  3815. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  3816. r23put((T23*)(oBC21memory),b1,b1);
  3817. }/*]*/
  3818. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  3819. r23put((T23*)(oBC21memory),b1,b1);
  3820. }/*]*/
  3821. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  3822. r23put((T23*)(oBC21memory),b1,b1);
  3823. }/*]*/
  3824. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  3825. r23put((T23*)(oBC21memory),b1,b1);
  3826. }/*]*/
  3827. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  3828. r23put((T23*)(oBC21memory),b1,b1);
  3829. }/*]*/
  3830. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  3831. r23put((T23*)(oBC21memory),b1,b1);
  3832. }/*]*/
  3833. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  3834. r23put((T23*)(oBC21memory),b1,b1);
  3835. }/*]*/
  3836. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  3837. r23put((T23*)(oBC21memory),b1,b1);
  3838. }/*]*/
  3839. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  3840. r23put((T23*)(oBC21memory),b1,b1);
  3841. }/*]*/
  3842. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  3843. r23put((T23*)(oBC21memory),b1,b1);
  3844. }/*]*/
  3845. /*]*/
  3846. }
  3847. }}
  3848. return oBC13string_aliaser;
  3849. }
  3850.  
  3851.  
  3852. void r390standard_gc_define2(T390* C){
  3853. T6 _gc_check_id=0;
  3854. T2 _rcid=0;
  3855. T0* _rc=NULL;
  3856. _rc=r390run_class(C);
  3857. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  3858. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  3859. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  3860. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_11416));
  3861. r2append_in(_rcid,((T0*)ms52_783104a));
  3862. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_6360));
  3863. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_404));
  3864. r2append_in(_rcid,((T0*)ms52_3073536));
  3865. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_69075));
  3866. r2append_in(_rcid,((T0*)ms52_3073536));
  3867. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_361836));
  3868. r390gc_store_in(C,((T0*)ms52_3073536));
  3869. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_94205));
  3870. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_320),r390run_class(C));
  3871. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21552));
  3872. r390gc_free_in(C,((T0*)ms52_3073536));
  3873. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  3874. r390gc_free_in(C,((T0*)ms52_3073536));
  3875. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_407960));
  3876. r344memory_dispose(((T0*)ms52_3073536),((T0*)ms52_322),r390run_class(C));
  3877. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1591218));
  3878. r390gc_free_in(C,((T0*)ms52_3073536));
  3879. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  3880. r390gc_free_in(C,((T0*)ms52_3073536));
  3881. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14102));
  3882. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  3883. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  3884. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  3885. r390gc_mark_in(C,((T0*)ms52_783104a));
  3886. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248a));
  3887. r2append_in(_rcid,((T0*)ms52_783104a));
  3888. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582));
  3889. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  3890. /*]*/
  3891. _gc_check_id=(r50is_tagged(((T50*)_rc)))&&(r47no_check((T47*)(oBC13run_control)));
  3892. /*[IF*/
  3893. if(_gc_check_id){
  3894. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21437));
  3895. r2append_in(_rcid,((T0*)ms52_3073536));
  3896. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_932));
  3897. }
  3898. /*FI]*/
  3899. r50gc_mark_fixed_size(((T50*)_rc),0,((T0*)ms52_3073536));
  3900. /*[IF*/
  3901. if(_gc_check_id){
  3902. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_270));
  3903. }
  3904. /*FI]*/
  3905. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  3906. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
  3907. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  3908. r390gc_align_mark_in(C,((T0*)ms52_783104a));
  3909. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_14570));
  3910. r2append_in(_rcid,((T0*)ms52_783104a));
  3911. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_585));
  3912. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
  3913. /*]*/
  3914. r50gc_align_mark_fixed_size(((T50*)_rc),((T0*)ms52_3073536));
  3915. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  3916. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_5346));
  3917. r2append_in(_rcid,((T0*)ms52_783104a));
  3918. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms52_454797));
  3919. r2append_in(_rcid,((T0*)ms52_3073536));
  3920. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_78075));
  3921. r2append_in(_rcid,((T0*)ms52_3073536));
  3922. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_356700));
  3923. r2append_in(_rcid,((T0*)ms52_3073536));
  3924. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_5802));
  3925. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  3926. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104a)))))->_count)=(0);
  3927. /*]*/
  3928. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'T'));
  3929. r2append_in(_rcid,((T0*)ms52_783104a));
  3930. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  3931. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_990));
  3932. r2append_in(_rcid,((T0*)ms52_783104a));
  3933. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_4320));
  3934. r7copy((T7*)(((T0*)ms52_3073536)),((T0*)ms14_404));
  3935. r2append_in(_rcid,((T0*)ms52_3073536));
  3936. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_884));
  3937. /*[IF*/
  3938. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  3939. r390gc_info_nb_in(C,((T0*)ms52_3073536));
  3940. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_620));
  3941. }
  3942. /*FI]*/
  3943. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_741));
  3944. r390gc_store_left_in(C,((T0*)ms52_3073536));
  3945. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1425));
  3946. r390gc_store_left_in(C,((T0*)ms52_3073536));
  3947. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_3810));
  3948. r390gc_store_in(C,((T0*)ms52_3073536));
  3949. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_13200));
  3950. r390gc_free_in(C,((T0*)ms52_3073536));
  3951. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11044));
  3952. r390gc_free_in(C,((T0*)ms52_3073536));
  3953. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  3954. r390gc_free_in(C,((T0*)ms52_3073536));
  3955. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_39474));
  3956. r390gc_store_left_in(C,((T0*)ms52_3073536));
  3957. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2370));
  3958. r390gc_store_left_in(C,((T0*)ms52_3073536));
  3959. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_712));
  3960. r390gc_store_chunk_in(C,((T0*)ms52_3073536));
  3961. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_103626));
  3962. r390gc_store_in(C,((T0*)ms52_3073536));
  3963. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11760));
  3964. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11024));
  3965. r390gc_store_chunk_in(C,((T0*)ms52_3073536));
  3966. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_23640));
  3967. r390gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  3968. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_31806));
  3969. r390gc_store_chunk_in(C,((T0*)ms52_3073536));
  3970. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1694883));
  3971. r390gc_store_chunk_in(C,((T0*)ms52_3073536));
  3972. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_51520));
  3973. r390gc_store_chunk_in(C,((T0*)ms52_3073536));
  3974. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_816));
  3975. r390gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  3976. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_59265));
  3977. r390gc_free_in(C,((T0*)ms52_3073536));
  3978. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_1725));
  3979. r390gc_free_in(C,((T0*)ms52_3073536));
  3980. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  3981. r390gc_free_in(C,((T0*)ms52_3073536));
  3982. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_15800));
  3983. r390gc_store_chunk_in(C,((T0*)ms52_3073536));
  3984. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_8008));
  3985. r390gc_initialize_chunk(C,_rcid,((T0*)ms52_3073536));
  3986. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_21504));
  3987. /*[IF*/
  3988. {/*AT*/r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_14003));
  3989. r2append_in(_rcid,((T0*)ms52_3073536));
  3990. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms14_138));
  3991. }
  3992. /*FI]*/
  3993. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_11862));
  3994. r2append_in(_rcid,((T0*)ms52_3073536));
  3995. r7append((T7*)(((T0*)ms52_3073536)),((T0*)ms52_2118));
  3996. r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
  3997. }
  3998.  
  3999.  
  4000. void r390c_header_pass4(T390* C){
  4001. T0* _rc=NULL;
  4002. T2 _mem_id=0;
  4003. _rc=r390run_class(C);
  4004. _mem_id=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  4005. r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5432));
  4006. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  4007. r2append_in(_mem_id,((T0*)ms52_783104));
  4008. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4009. r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
  4010. r2append_in(_mem_id,((T0*)ms52_783104));
  4011. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4012. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  4013. /*]*/
  4014. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  4015. /*]*/
  4016. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
  4017. /*]*/
  4018. r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
  4019. r2append_in(_mem_id,((T0*)ms52_783104));
  4020. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
  4021. r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
  4022. r2append_in(_mem_id,((T0*)ms52_783104));
  4023. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\75'));
  4024. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
  4025. /*[IF*/
  4026. if(r50is_tagged(((T50*)_rc))){
  4027. r2append_in(_mem_id,((T0*)ms52_783104));
  4028. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\54'));
  4029. }
  4030. /*FI]*/
  4031. X276c_initialize_in((/*RF2*/(C)->_type_bit/*12*/),((T0*)ms52_783104));
  4032. r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
  4033. r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
  4034. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
  4035. /*]*/
  4036. r325swap_on_h((T325*)(oBC13cpp));
  4037. r390standard_c_print_function(C);
  4038. }
  4039.  
  4040.  
  4041. void r390standard_gc_define1(T390* C){
  4042. T2 _rcid=0;
  4043. T0* _rc=NULL;
  4044. _rc=r390run_class(C);
  4045. _rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
  4046. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_6448));
  4047. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  4048. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  4049. r2append_in(_rcid,((T0*)ms52_783104a));
  4050. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  4051. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  4052. r2append_in(_rcid,((T0*)ms52_783104a));
  4053. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_138));
  4054. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms14_5495));
  4055. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'B'));
  4056. r2append_in(_rcid,((T0*)ms52_783104a));
  4057. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_414));
  4058. r2append_in(_rcid,((T0*)ms52_783104a));
  4059. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_78572));
  4060. r2append_in(_rcid,((T0*)ms52_783104a));
  4061. r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_12042));
  4062. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104a));
  4063. /*]*/
  4064. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  4065. r2append_in(_rcid,((T0*)ms52_783104a));
  4066. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  4067. r390gc_store_in(C,((T0*)ms52_783104a));
  4068. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  4069. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  4070. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  4071. r390gc_store_left_in(C,((T0*)ms52_783104a));
  4072. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  4073. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms52_2345));
  4074. r390gc_store_chunk_in(C,((T0*)ms52_783104a));
  4075. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  4076. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_404));
  4077. r2append_in(_rcid,((T0*)ms52_783104a));
  4078. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\52'));
  4079. r390gc_free_in(C,((T0*)ms52_783104a));
  4080. r325put_extern5((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms14_1260));
  4081. /*[IF*/
  4082. if((/*RF2*/((T344*)(oBC13gc_handler))->_info_flag/*1*/)){
  4083. r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_993));
  4084. r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
  4085. r390gc_info_nb_in(C,((T0*)ms52_783104a));
  4086. r325put_extern2((T325*)(oBC13cpp),((T0*)ms52_783104a),((T3)'0'));
  4087. }
  4088. /*FI]*/
  4089. }
  4090.  
  4091.  
  4092. void r390standard_just_before_gc_mark_in(T390* C,T0* a1){
  4093. r390gc_free_in(C,a1);
  4094. r7extend(((T7*)a1),((T3)'\75'));
  4095. r7append(((T7*)a1),((T0*)ms14_1260));
  4096. r7append(((T7*)a1),((T0*)ms14_138));
  4097. }
  4098.  
  4099.  
  4100. void r390id_extra_information(T0* a1){
  4101. r48put_string(((T48*)a1),((T0*)ms52_9724));
  4102. /*[IF*/
  4103. {/*AT*/r48put_string(((T48*)a1),((T0*)ms52_1476));
  4104. }
  4105. /*FI]*/
  4106. }
  4107.  
  4108.  
  4109. void r390gc_mark_in(T390* C,T0* a1){
  4110. r7append(((T7*)a1),((T0*)ms14_8764));
  4111. r2append_in(r390id(C),a1);
  4112. }
  4113.  
  4114.  
  4115. void r390gc_info_nb_in(T390* C,T0* a1){
  4116. r7append(((T7*)a1),((T0*)ms52_14920));
  4117. r2append_in(r390id(C),a1);
  4118. }
  4119.  
  4120.  
  4121. void r390c_type_for_external_in(T0* a1){
  4122. /*[IF*/
  4123. {/*AT*/r7append(((T7*)a1),((T0*)ms14_1736a));
  4124. r7extend(((T7*)a1),((T3)'\52'));
  4125. }
  4126. /*FI]*/
  4127. }
  4128.  
  4129.  
  4130. void r390gc_store_in(T390* C,T0* a1){
  4131. r7append(((T7*)a1),((T0*)ms52_2785));
  4132. r2append_in(r390id(C),a1);
  4133. }
  4134.  
  4135.  
  4136. T0* r390run_class(T390* C){
  4137. T0* R=NULL;
  4138. R=r49run_class(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  4139. return R;
  4140. }
  4141.  
  4142.  
  4143. void r390c_type_for_target_in(T390* C,T0* a1){
  4144. r7extend(((T7*)a1),((T3)'T'));
  4145. r2append_in(r390id(C),a1);
  4146. r7extend(((T7*)a1),((T3)'\52'));
  4147. }
  4148.  
  4149.  
  4150. void r390demangling_in(T390* C,T0* a1){
  4151. /*[IF*/
  4152. {/*AT*/r7extend(((T7*)a1),((T3)'R'));
  4153. }
  4154. /*FI]*/
  4155. r7extend(((T7*)a1),((T3)'\40'));
  4156. r7append(((T7*)a1),(/*RF2*/(C)->_run_time_mark/*16*/));
  4157. }
  4158.  
  4159.  
  4160. void r390gc_initialize_chunk(T390* C,T2 a1,T0* a2){
  4161. r7extend(((T7*)a2),((T3)'\52'));
  4162. r390gc_store_chunk_in(C,a2);
  4163. r7append(((T7*)a2),((T0*)ms14_266a));
  4164. r2append_in(a1,a2);
  4165. r7append(((T7*)a2),((T0*)ms14_138));
  4166. r390gc_store_in(C,a2);
  4167. r7append(((T7*)a2),((T0*)ms52_1715));
  4168. r2append_in(a1,a2);
  4169. r7append(((T7*)a2),((T0*)ms52_1005));
  4170. r390gc_store_chunk_in(C,a2);
  4171. r7append(((T7*)a2),((T0*)ms52_11742));
  4172. r390gc_store_left_in(C,a2);
  4173. r7append(((T7*)a2),((T0*)ms14_266a));
  4174. r2append_in(a1,a2);
  4175. r7append(((T7*)a2),((T0*)ms52_34060));
  4176. r390gc_store_in(C,a2);
  4177. r7append(((T7*)a2),((T0*)ms52_2040));
  4178. }
  4179. T0*oBC390base_class_name=NULL;
  4180. int fBC390base_class_name=0;
  4181.  
  4182.  
  4183. T0* r390base_class_name(void){
  4184. if(fBC390base_class_name==0){fBC390base_class_name=1;{
  4185. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  4186. *n=M61;
  4187. oBC390base_class_name=((T0*)n);
  4188. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_9234));
  4189. /*]*/
  4190. }
  4191. }}
  4192. return oBC390base_class_name;
  4193. }
  4194.  
  4195.  
  4196. void r390c_frame_descriptor(T390* C){
  4197. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  4198. /*[IF*/
  4199. {/*AT*/r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
  4200. }
  4201. /*FI]*/
  4202. r2append_in(r390id(C),oBC13c_frame_descriptor_format);
  4203. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  4204. }
  4205.  
  4206.  
  4207. T0* r160add_comment(T160* C,T0* a1){
  4208. T0* R=NULL;
  4209. /*[IF*/
  4210. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  4211. R=((T0*)(C));
  4212. }
  4213. else{
  4214. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  4215. *n=M229;
  4216. r229make(n,(T0*)C,a1);
  4217. R=((T0*)n);
  4218. }
  4219. }
  4220. /*FI]*/
  4221. return R;
  4222. }
  4223.  
  4224.  
  4225. T0* r160to_runnable(T160* C,T0* a1){
  4226. T0* R=NULL;
  4227. T0* _t=NULL;
  4228. R=((T0*)(C));
  4229. _t=r265to_runnable((T265*)(r160result_type()),a1);
  4230. return R;
  4231. }
  4232.  
  4233.  
  4234. void r160error(T68 a1,T0* a2){
  4235. r66add_position(a1);
  4236. /*[IRF3.6append*/{T0* b1=a2;
  4237. r7append((T7*)(oBC66explanation),b1);
  4238. }/*]*/
  4239. r66print_as_error((T66*)(oBC13eh));
  4240. }
  4241. T0*oBC160result_type=NULL;
  4242. int fBC160result_type=0;
  4243.  
  4244.  
  4245. T0* r160result_type(void){
  4246. if(fBC160result_type==0){fBC160result_type=1;{
  4247. T68 _unknown_position={NULL,0};
  4248. {T265*n=((T265*)malloc(sizeof(*n))/*8*/);
  4249. *n=M265;
  4250. oBC160result_type=((T0*)n);
  4251. r265make(n,_unknown_position);
  4252. }
  4253. }}
  4254. return oBC160result_type;
  4255. }
  4256.  
  4257.  
  4258. T0* r160static_result_base_class(void){
  4259. T0* R=NULL;
  4260. R=r49get_class(((T0*)ms15_9801));
  4261. return R;
  4262. }
  4263.  
  4264.  
  4265. void r160make(T160* C,T68 a1,T3 a2,T2 a3){
  4266. (/*SFN*/C->_start_position)=a1;
  4267. (/*SFN*/C->_value)=a2;
  4268. /*[IRF3.3set_pretty_print_mode*/((((T160*)(C)))->_pretty_print_mode)=(a3);
  4269. /*]*/
  4270. }
  4271.  
  4272.  
  4273. void r160compile_to_c(T160* C){
  4274. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms160_2940));
  4275. /*]*/
  4276. /*[IF*/
  4277. if((r3is_letter((/*RF2*/(C)->_value/*12*/)))||(r3is_digit((/*RF2*/(C)->_value/*12*/)))){
  4278. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4279. T3 b1=(/*RF2*/(C)->_value/*12*/);
  4280. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4281. }/*]*/
  4282. /*]*/
  4283. }
  4284.  else if(((/*RF2*/(C)->_value/*12*/))==(((T3)'\n'))){
  4285. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4286. T3 b1=((T3)'\134');
  4287. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4288. }/*]*/
  4289. /*]*/
  4290. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4291. T3 b1=((T3)'n');
  4292. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4293. }/*]*/
  4294. /*]*/
  4295. }
  4296. else{
  4297. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4298. T3 b1=((T3)'\134');
  4299. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4300. }/*]*/
  4301. /*]*/
  4302. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r2to_octal(T3code((/*RF2*/(C)->_value/*12*/))));
  4303. /*]*/
  4304. }
  4305. /*FI]*/
  4306. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms160_160));
  4307. /*]*/
  4308. }
  4309.  
  4310.  
  4311. T2 r160isa_dca_inline_argument(void){
  4312. T2 R=0;
  4313. /*[IF*/
  4314. {/*AT*/R=-(1);
  4315. }
  4316. /*FI]*/
  4317. return R;
  4318. }
  4319.  
  4320.  
  4321. void r178external_prototype_in(T178* C,T0* a1){
  4322. T0* _t=NULL;
  4323. T2 _i=0;
  4324. _i=1;
  4325. while (!((_i)>(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/)))
  4326. {
  4327. _t=X52run_type(r178type(C,_i));
  4328. X52c_type_for_external_in(_t,a1);
  4329. r7extend(((T7*)a1),((T3)'\40'));
  4330. r7extend(((T7*)a1),((T3)'a'));
  4331. r2append_in(_i,a1);
  4332. _i=(_i)+(1);
  4333. /*[IF*/
  4334. if((_i)<=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
  4335. r7extend(((T7*)a1),((T3)'\54'));
  4336. }
  4337. /*FI]*/
  4338. }
  4339. }
  4340.  
  4341.  
  4342. T2 r178rank_of(T178* C,T0* a1){
  4343. T2 R=0;
  4344. R=/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  4345. while (!(((R)==(0))||((a1)==((void*)((/*RF2*/((T181*)(/*(IRF4.6name*/r182item(((T182*)((/*RF2*/(C)->_flat_list/*8*/))),R)/*)*/))->_to_string/*12*/))))))
  4346. {
  4347. R=(R)-(1);
  4348. }
  4349. return R;
  4350. }
  4351. T0*oBC178tmp_string=NULL;
  4352.  
  4353.  
  4354. void r178check_name_clash(T178* C,T0* a1){
  4355. T2 _i=0;
  4356. _i=(/*RF2*/((T182*)((/*RF2*/(C)->_flat_list/*8*/)))->_upper/*12*/);
  4357. while (!((_i)==(0)))
  4358. {
  4359. /*[IRF3.6name_clash*/{T181* C1=(T181*)(/*(IRF4.6name*/r182item(((T182*)((/*RF2*/(C)->_flat_list/*8*/))),_i)/*)*/);
  4360. T0* b1=a1;
  4361. r181name_clash_for(C1,b1,((T0*)ms181_120244));
  4362. }/*]*/
  4363. _i=(_i)-(1);
  4364. }
  4365. }
  4366.  
  4367.  
  4368. void r178declaration_list_make(T178* C,T0* a1){
  4369. T2 _actual_count=0;
  4370. T2 _il=0;
  4371. (/*SFN*/C->_list)=a1;
  4372. _il=(/*RF2*/((T309*)((/*RF2*/(C)->_list/*4*/)))->_upper/*8*/);
  4373. while (!((_il)==(0)))
  4374. {
  4375. _actual_count=(_actual_count)+(X308count(r309item((T309*)((/*RF2*/(C)->_list/*4*/)),_il)));
  4376. _il=(_il)-(1);
  4377. }
  4378. {T182*n=((T182*)malloc(sizeof(*n))/*20*/);
  4379. *n=M182;
  4380. r182make(n,1,_actual_count);
  4381. (/*SFN*/C->_flat_list)=((T0*)n);
  4382. }
  4383. _il=1;
  4384. while (!((_il)>((/*RF2*/((T309*)((/*RF2*/(C)->_list/*4*/)))->_upper/*8*/))))
  4385. {
  4386. X308append_in(r309item((T309*)((/*RF2*/(C)->_list/*4*/)),_il),(T0*)C);
  4387. _il=(_il)+(1);
  4388. }
  4389. }
  4390.  
  4391.  
  4392. void r178with(T178* C,T0* a1,T0* a2){
  4393. *((T178*)(C))=*((T178*)(a1));
  4394. r178dynamic_runnable(C,a2);
  4395. r178check_name_clash(C,a2);
  4396. }
  4397.  
  4398.  
  4399. T0* r178type(T178* C,T2 a1){
  4400. T0* R=NULL;
  4401. R=(/*RF2*/((T181*)(/*(IRF4.6name*/r182item(((T182*)((/*RF2*/(C)->_flat_list/*8*/))),a1)/*)*/))->_result_type/*16*/);
  4402. return R;
  4403. }
  4404.  
  4405.  
  4406. void r178dynamic_runnable(T178* C,T0* a1){
  4407. T0* _n2=NULL;
  4408. T0* _n1=NULL;
  4409. T2 _i=0;
  4410. (/*SFN*/C->_flat_list)=r182twin((T182*)((/*RF2*/(C)->_flat_list/*8*/)));
  4411. _i=(/*RF2*/((T182*)((/*RF2*/(C)->_flat_list/*8*/)))->_upper/*12*/);
  4412. while (!((_i)==(0)))
  4413. {
  4414. _n1=r182item((T182*)((/*RF2*/(C)->_flat_list/*8*/)),_i);
  4415. _n2=r181to_runnable(((T181*)_n1),a1);
  4416. /*[IF*/
  4417. if((_n2)==((void*)(NULL))){
  4418. r178error((/*RF2*/(((T181*)_n1))->_start_position/*4*/),((T0*)ms170_18096));
  4419. }
  4420. else{
  4421. /*[IRF3.6put*/{T182* C1=(T182*)((/*RF2*/(C)->_flat_list/*8*/));
  4422. T0* b1=_n2;
  4423. T2 b2=_i;
  4424. ((/*RF2*/(C1)->_storage/*4*/))[(b2)-((/*RF2*/(C1)->_lower/*16*/))]=(b1);
  4425. }/*]*/
  4426. }
  4427. /*FI]*/
  4428. _i=(_i)-(1);
  4429. }
  4430. }
  4431.  
  4432.  
  4433. void r178error(T68 a1,T0* a2){
  4434. r66add_position(a1);
  4435. /*[IRF3.6append*/{T0* b1=a2;
  4436. r7append((T7*)(oBC66explanation),b1);
  4437. }/*]*/
  4438. r66print_as_error((T66*)(oBC13eh));
  4439. }
  4440.  
  4441.  
  4442. void r178add_last(T178* C,T0* a1){
  4443. T0* _n2=NULL;
  4444. T2 _i=0;
  4445. _i=1;
  4446. while (!((r182item((T182*)((/*RF2*/(C)->_flat_list/*8*/)),_i))==((void*)(NULL))))
  4447. {
  4448. _n2=r182item((T182*)((/*RF2*/(C)->_flat_list/*8*/)),_i);
  4449. /*[IF*/
  4450. if(((/*RF2*/(((T181*)_n2))->_to_string/*12*/))==((void*)((/*RF2*/(((T181*)a1))->_to_string/*12*/)))){
  4451. r66add_position((/*RF2*/(((T181*)a1))->_start_position/*4*/));
  4452. r66add_position((/*RF2*/(((T181*)_n2))->_start_position/*4*/));
  4453. r178fatal_error(((T0*)ms170_36624));
  4454. }
  4455. /*FI]*/
  4456. _i=(_i)+(1);
  4457. }
  4458. /*[IRF3.6put*/{T182* C1=(T182*)((/*RF2*/(C)->_flat_list/*8*/));
  4459. T0* b1=a1;
  4460. T2 b2=_i;
  4461. ((/*RF2*/(C1)->_storage/*4*/))[(b2)-((/*RF2*/(C1)->_lower/*16*/))]=(b1);
  4462. }/*]*/
  4463. /*[IRF3.3set_rank*/((((T181*)(((T181*)a1))))->_rank)=(_i);
  4464. /*]*/
  4465. }
  4466.  
  4467.  
  4468. T6 r178is_a_in(T178* C,T0* a1,T0* a2){
  4469. T6 R=0;
  4470. T0* _t2=NULL;
  4471. T0* _t1=NULL;
  4472. T2 _i=0;
  4473. _i=/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/;
  4474. /*[IF*/
  4475. if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(((T178*)a1))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(_i)){
  4476. {T68 se_tmp0;
  4477. r66add_position((*(se_tmp0=r178start_position(((T178*)a1)),&se_tmp0)));
  4478. }
  4479. {T68 se_tmp0;
  4480. r178error((*(se_tmp0=r178start_position(C),&se_tmp0)),((T0*)ms178_36216));
  4481. }
  4482. }
  4483. /*FI]*/
  4484. /*[IF*/
  4485. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  4486. R=1;
  4487. while (!((!(R))||((_i)==(0))))
  4488. {
  4489. _t1=r178type(C,_i);
  4490. _t2=r178type(((T178*)a1),_i);
  4491. /*[IF*/
  4492. if(!(X52is_a_in(_t1,_t2,a2))){
  4493. R=0;
  4494. r66print_as_error((T66*)(oBC13eh));
  4495. {T68 se_tmp0;
  4496. r66add_position((*(se_tmp0=X52start_position(_t1),&se_tmp0)));
  4497. }
  4498. {T68 se_tmp0;
  4499. r66add_position((*(se_tmp0=X52start_position(_t2),&se_tmp0)));
  4500. }
  4501. /*[IRF3.6append*/{T0* b1=((T0*)ms178_26532);
  4502. r7append((T7*)(oBC66explanation),b1);
  4503. }/*]*/
  4504. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  4505. r7append((T7*)(oBC66explanation),b1);
  4506. }/*]*/
  4507. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  4508. r7append((T7*)(oBC66explanation),b1);
  4509. }/*]*/
  4510. r66print_as_error((T66*)(oBC13eh));
  4511. }
  4512. /*FI]*/
  4513. _i=(_i)-(1);
  4514. }
  4515. }
  4516. /*FI]*/
  4517. return R;
  4518. }
  4519.  
  4520.  
  4521. void r178inline_one_pc(T178* C){
  4522. T0* _t=NULL;
  4523. T2 _i=0;
  4524. _i=1;
  4525. while (!((_i)>(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(C)->_flat_list/*8*/))))->_upper/*12*/)/*)*/)))
  4526. {
  4527. _t=X52run_type(r178type(C,_i));
  4528. /*[IRF3.3clear*/((((T7*)((T7*)(oBC178tmp_string))))->_count)=(0);
  4529. /*]*/
  4530. X52c_type_for_argument_in(_t,oBC178tmp_string);
  4531. r7extend((T7*)(oBC178tmp_string),((T3)'\40'));
  4532. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC178tmp_string);
  4533. /*]*/
  4534. r325inline_level_incr((T325*)(oBC13cpp));
  4535. r325print_argument((T325*)(oBC13cpp),_i);
  4536. r325inline_level_decr((T325*)(oBC13cpp));
  4537. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4538. T3 b1=((T3)'\75');
  4539. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4540. }/*]*/
  4541. /*]*/
  4542. r325put_ith_argument((T325*)(oBC13cpp),_i);
  4543. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  4544. /*]*/
  4545. _i=(_i)+(1);
  4546. }
  4547. }
  4548.  
  4549.